剛開始使用 go,當我嘗試編譯 hello.go 時,卡在了一個非常簡單的應用程序上(從這里https://golang.org/doc/tutorial/call-module-code ):...hello.go:6:5: cannot find module providing package example.com/greeting...環境是這樣設置的(Ubuntu 20.04)root@591c0587972e:~/proj/test/go.test# go env | grep GOPAGOPATH="/root/go:/root/proj/test/go.test"root@591c0587972e:~/proj/test/go.test# go versiongo version go1.15.3 linux/amd64源代碼https://github.com/myxit/golang-wtf請幫忙,設置有什么問題?
1 回答

jeck貓
TA貢獻1909條經驗 獲得超7個贊
您需要使用replace指令指向包的本地路徑。否則,Go 會嘗試在實際路徑所在的位置找到它 - 在example.com/greeting. 在您鏈接到的頁面中,提到了這一點:
對于生產用途,您可以在公司內部或互聯網上的服務器上發布您的模塊,Go 命令將從那里下載它們?,F在,您需要調整調用者的模塊,以便它可以在您的本地文件系統上找到問候代碼。
為此,請對 hello 模塊的 go.mod 文件進行一些小改動。
在 hello 目錄中,打開 go.mod 文件,將其更改為如下所示,然后保存文件。
module hello
go 1.14
replace example.com/greetings => ../greetings
事實上,由于您使用的是模塊(就像您應該使用 go 1.15 一樣?。┪医ㄗh您根本不要設置. 它不是必需的,只是在“模塊模式”中增加了混亂。
- 1 回答
- 0 關注
- 124 瀏覽
添加回答
舉報
0/150
提交
取消