我是 golang 的新手,在创建新模块时遇到了一些问题我想在我的主包中添加一个 git 子模块,这样我就可以同时工作并提交到两个包该模块http_fs像这样添加为 git 子模块git submodule add git@github.com:xxx/http_fs.git repo/http_fs主包package mainimport "repo/http_fs"go.mod对于http_fs模块看起来像这样module github.com/xxx/http_fsgo 1.19当我尝试运行主包时go run main.go出现此错误package repo/http_fs is not in GOROOT (/usr/local/go/src/repo/http_fs)文件结构./main.go // main package./repo/http_fs/http_fs.go更新go.mod在主包中module maingo 1.19replace github.com/xxx/http_fs v1 => ./repo/http_fs
1 回答
哈士奇WWW
TA贡献1799条经验 获得超6个赞
错误原因
package repo/http_fs is not in GOROOT (/usr/local/go/src/repo/http_fs)
是go.mod
在/usr/local/go/src/repo/http_fs
声明模块github.com/xxx/http_fs
,而不是repo/http_fs
。
您需要导入与 中指定的完全相同的模块go.mod
,即github.com/xxx/http_fs
在go.mod
您的主模块使用replace
指令中:
replace github.com/xxx/http_fs v1.2.3 => ./repo/http_fs
Replace 指令告诉编译器在哪里可以找到模块的源代码。
- 1 回答
- 0 关注
- 85 浏览
添加回答
举报
0/150
提交
取消