簡體   English   中英

go tool:沒有這樣的工具“編譯”

[英]go tool: no such tool "compile"

我最近開始嘗試編寫一些基於 Web 的應用程序。 起初,一切都很順利,直到我想為不同的平台交叉編譯二進制文件。 我正在運行 MacOS,我想為 linux 編譯一個二進制文件,所以我將GOOS更改為linux並將GOARCHamd64 從那以后,我總是收到錯誤消息

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.

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