直到 Go 1.4.2 在運行 go build 后運行 go install 時,我可以在當前文件夾中找到二進制文件。因此,以下 Linux 命令正在運行$ go build && go install && ./executable但是在安裝 go 1.5 后,當我運行相同的命令時,-bash: ./executable: 沒有那個文件或目錄當我檢查時,找不到可執(zhí)行文件。Go 1.5 中的 go install 行為是否發(fā)生了變化?
1 回答

墨色風雨
TA貢獻1853條經(jīng)驗 獲得超6個贊
是的,Go 1.5 中的行為發(fā)生了變化:
如果“go install”(不帶參數(shù),表示當前目錄)成功,則刪除“go build”編寫的可執(zhí)行文件(如果存在)。這可以避免在如下序列中留下陳舊的二進制文件:
go build
<test, mostly works, make small change>
go install
在此 CL 之前,當前目錄仍然具有來自“go build”的陳舊二進制文件。如果 $PATH 包含點,運行程序的名稱將找到這個陳舊的二進制文件,而不是新安裝的二進制文件。
我在發(fā)行說明中找不到任何提到的內(nèi)容??赡苁俏臋n問題。
似乎解決方案是使用go install產(chǎn)生的二進制文件。
編輯: 如果您想跟進更新,這是 Go 問題跟蹤器上的問題。應由 1.5.1 修復。
- 1 回答
- 0 關注
- 176 瀏覽
添加回答
舉報
0/150
提交
取消