[英]go tool: no such tool "compile"
我最近開始嘗試編寫一些基於 Web 的應用程序。 起初,一切都很順利,直到我想為不同的平台交叉編譯二進制文件。 我正在運行 MacOS,我想為 linux 編譯一個二進制文件,所以我將GOOS
更改為linux
並將GOARCH
為amd64
。 從那以后,我總是收到錯誤消息
go tool: no such tool "compile"
我正在使用 GoClipse,但手動運行編譯
go install hello.go
我犯了同樣的錯誤。 當改回為達爾文架構編譯時,我現在得到了同樣的錯誤,所以基本上我現在完全無法編譯任何用 Go 編寫的代碼。
我通過谷歌提供的二進制包安裝它。 最后,我實際上通過重新安裝它重新開始工作。 有時我只是對簡單的解決方案視而不見。
在那之后,我通過從Go源目錄運行env GOOS=linux GOARCH=arm GOROOT_BOOTSTRAP=/usr/local/go ./make.bash --no-clean
編譯了必要的交叉編譯器,成功地為linux機器進行了交叉編譯。 。
感謝您的所有努力,抱歉讓您忙於這么簡單的事情。
如果你安裝Go 1.5,你可能可以逃脫,但是如果你使用依賴於cgo
任何東西,你將不得不安裝一個交叉編譯器鏈接器或在虛擬機上安裝Linux以便能夠交叉編譯Linux 。
在我的情況下,由於GOPATH和GOROOT設置不正確,也許你可以檢查go env
。 這是一個討論可能有用。
您最有可能安裝了錯誤的x64或x386軟件包。 我安裝了32位64位運行。 重新安裝修復。 祝好運。
我弄清楚讀取了什么文件並導致 Go 在錯誤位置查找編譯二進制文件的方式可以使用以下方法解決: $ strace go tool -n compile 2>&1 |grep openat
openat(AT_FDCWD, "/home/nwaizer/.config/go/env", O_RDONLY|O_CLOEXEC) = 3
在那個文件中,IDE Goland,添加了一些項目的路徑,造成了破壞。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.