簡體   English   中英

go install總是使用GOROOT / bin而不是GOPATH

[英]go install always uses GOROOT/bin instead of GOPATH

我在使用go install命令時遇到了煩人的問題。

每次我嘗試在我的GOPATHsrc目錄中運行它時,由於某種原因,結果文件將在GOROOT / bin目錄中創建。

我在.bashrc中驗證了我的環境變量,並運行'go env'(見下文)並找不到任何問題:

的.bashrc

export GOBIN=$HOME/dev/src/go/bin
export GOPATH=$HOME/dev/go-dev
export PATH=$PATH:$GOBIN:$GOPATH/bin

去環境

GOARCH="amd64"
GOBIN="/home/user/dev/src/go/bin"
GOCHAR="6"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/user/dev/go-dev"
GORACE=""
GOROOT="/home/user/dev/src/go"
GOTOOLDIR="/home/user/dev/src/go/pkg/tool/linux_amd64"
CC="gcc"
GOGCCFLAGS="-g -O2 -fPIC -m64 -pthread"
CGO_ENABLED="1"

這篇文章有一個類似的問題,除了我在我的環境中有GOPATH(我嘗試了解決方案,但它沒有幫助)。

當我嘗試使用官方GoLang站點創建測試庫並運行go install時,我在$ GOPATH / pgk / linux_amd64中創建了一個正確的文件,但是沒有在bin目錄中創建。

我在配置中遺漏了什么嗎?

關於go工具的官方文檔

如果DIR是GOPATH中列出的目錄......

如果設置了GOBIN環境變量,則命令將安裝到它命名的目錄而不是DIR / bin

郵件列表上有關於此主題的討論,在此進一步說明:

(a)如果你沒有設置你的GOBIN env變量,你可以在GOROOT / bin中獲得Go編譯器二進制文件,而你的二進制文件將在GOPATH / bin中。 (我個人喜歡這種二進制分離。)

(b)如果你將GOBIN設置為任何東西,那么Go二進制文件和你的二進制文件都將轉到GOBIN。

你的案例中的解決方案是不設置你的GOBIN

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM