我只想通过go模块使用本地包。
我在goweb文件夹中有这些文件:
和go.mod
模块goweb
def nodecolor():
node_colors = []
for n in Graph.nodes():
if n in list(NodeList1):
node_colors.append('red')
else:
node_colors.append('blue')
return node_colors
但是go 1.12
require mypack v0.0.0
replace mypack => ./src/mypack
抱怨:
go.mod
去-u ./...
replacement module without version must be directory path (rooted or starting with .
所以我在这里缺少一些路径结构
答案 0 :(得分:1)
如果您的应用程序及其使用的软件包是同一个go模块的一部分,则不必将其添加到go.mod
中,只需引用它即可。
如果它们不是同一go模块的一部分,则可以按照以下步骤操作:
您为replace
指令指定的路径必须是绝对路径或相对路径,相对于模块根目录。
因此,如果mypack
是模块根目录的同级对象,则可以使用以下方法:
replace mypack => ../mypack
此外,要使其正常工作,还必须将mypack
转换为go模块(mypack
必须包含go.mod
文件)。在其文件夹中运行go mod init mypack
。
也请查看相关问题:How to use a module that is outside of "GOPATH" in another module?