找不到golang编译简单应用程序模块(GOPATH?)



刚开始使用go,在一个非常简单的应用程序上遇到了困难(从这里开始https://golang.org/doc/tutorial/call-module-code)当我试图编译hello.go:时

...
hello.go:6:5: cannot find module providing package example.com/greeting
...

env设置如下(Ubuntu 20.04(

root@591c0587972e:~/proj/test/go.test# go env | grep GOPA
GOPATH="/root/go:/root/proj/test/go.test"
root@591c0587972e:~/proj/test/go.test# go version
go version go1.15.3 linux/amd64

源代码https://github.com/myxit/golang-wtf

请帮忙,安装有什么问题?

您需要使用replace指令来指向包的本地路径。否则,Go将尝试在实际路径所在的位置找到它——位于example.com/greeting。在您链接到的页面中,会提到:


对于生产用途,您可以在公司内部或互联网上的服务器上发布模块,Go命令将从那里下载它们。目前,您需要调整调用者的模块,以便它能够在本地文件系统中找到问候语代码。

要做到这一点,请对hello模块的go.mod文件进行一个小的更改。

在hello目录中,打开go.mod文件,将其更改为如下所示,然后保存该文件。

module hello
go 1.14
replace example.com/greetings => ../greetings

事实上,由于您使用的是模块(正如您应该使用go 1.15!(,我建议您根本不要设置。这是不需要的,只是在";模块模式";。

相关内容

  • 没有找到相关文章

最新更新