3 回答

TA貢獻1828條經驗 獲得超4個贊
它不起作用,因為您的foobar.go
源文件不在名為的目錄中foobar
。go build
并go install
嘗試匹配目錄,而不是源文件。
設置
$GOPATH
為有效目錄,例如export GOPATH="$HOME/go"
移動
foobar.go
到$GOPATH/src/foobar/foobar.go
與建筑應該只是罰款。
建議的其他步驟:
添加
$GOPATH/bin
到您的$PATH
依據:PATH="$GOPATH/bin:$PATH"
移至
main.go
的子文件夾$GOPATH/src
,例如$GOPATH/src/test
go install test
現在應該在$GOPATH/bin
其中創建一個可執行文件,可以通過test
在終端中鍵入來調用該可執行文件。

TA貢獻1841條經驗 獲得超3個贊
由于您的意思是GOPATH,請參閱fasmat的答案(已批準)
如“如何找回我的包裹? ”中所述,您需要將包裹xxx放在目錄中xxx。
請參閱Go語言規范:
package math
一組共享相同文件的文件PackageName形成了包的實現。
一個實現可能要求包的所有源文件都駐留在同一目錄中。
該代碼組織提到:
在構建導入軟件包“ widget”的程序時,該go命令會src/pkg/widget在Go根目錄中查找,然后(如果在此處未找到軟件包源)src/widget將按順序在每個工作空間中進行搜索。
(“工作區”是您中的路徑條目GOPATH:該變量可以引用多個路徑以使您的“ src, bin, pkg”成為)
(原始答案)
您還應該將其設置GOPATH為?/ go,而不是GOROOT,如“如何編寫Go代碼”中所示。
Go路徑用于解析導入語句。它由go / build包實現并記錄在文件中。
在GOPATH環境變量列表地方尋找Go代碼。
在Unix上,該值是用冒號分隔的字符串。
在Windows上,該值為分號分隔的字符串。
在計劃9中,該值是一個列表。
不同于GOROOT:
Go二進制發行版假定它們將被安裝在Windows中/usr/local/go(或c:\Go在Windows下),但是可以將它們安裝在其他位置。
如果這樣做,則GOROOT在使用Go工具時,需要將環境變量設置為該目錄。
- 3 回答
- 0 關注
- 381 瀏覽
添加回答
舉報