首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >导入已经在公共回购中的本地包

导入已经在公共回购中的本地包
EN

Stack Overflow用户
提问于 2020-10-10 15:19:52
回答 1查看 113关注 0票数 0

我正致力于在Go中建立一个网络框架。我有本地代码,并希望在另一个模块中使用该回购来测试一切是否正常,而不必创建标记和/或将事情推送到远程repos。我已经跟踪了关于如何做到这一点的官方文档,以及其他一些帖子。然而,似乎什么都起不到作用。我做错什么了?

包裹住在当地:

代码语言:javascript
运行
复制
../goworkspace/src/github.com/garrettlove8/goserve

从其他模块导入:

代码语言:javascript
运行
复制
...
import (
    "fmt"
    "io"
    "net/http"

    "github.com/garrettlove8/goserve" // I have tried "goserve" and "../goserve"
)
...

go.mod:

代码语言:javascript
运行
复制
...
require github.com/garrettlove8/goserve v0.1.17

不管我做什么,它似乎不像我所希望的那样起作用

更新

代码和错误组合:

代码语言:javascript
运行
复制
// main.go
import (
    "fmt"
    "io"
    "net/http"

    "goserve"
)

运行go mod tidy

代码语言:javascript
运行
复制
// go.mod becomes
require github.com/garrettlove8/goserve v0.1.17 // indirect

错误:

代码语言:javascript
运行
复制
goserve: package goserve is not in GOROOT (/usr/local/go/src/goserve)

手动更改go mod到此(我不需要这样做):

代码语言:javascript
运行
复制
require github.com/garrettlove8/goserve

运行go mod tidy

错误:

代码语言:javascript
运行
复制
usage: require module/path v1.2.3
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-10-10 22:37:09

当您想要使用本地模块而不是远程模块时,可以使用替换指令来实现这一点。

在您的示例中,将其添加到go.mod文件中:

代码语言:javascript
运行
复制
replace github.com/garrettlove8/goserve => ../goworkspace/src/github.com/garrettlove8/goserve
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64295033

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档