[英]go 1.5 : Is “go install” behaviour changed? Removing stale executables?
Till Go 1.4.2當我在運行go build之后運行go install時,我可以在當前文件夾中找到二進制文件。 因此,Linux命令正在運行
$ go build && go install && ./executable
但安裝完1.5之后,當我運行相同的命令時,我得到了,
-bash:./ executable:沒有這樣的文件或目錄
當我檢查時,沒有可執行文件可供查找。 Go 1.5中的安裝行為是否已更改?
是的,Go 1.5中的行為發生了變化 :
如果'go install'(沒有參數,意味着當前目錄)成功,則刪除由'go build'寫的可執行文件(如果存在)。 這樣可以避免在以下序列中留下陳舊的二進制文件:
go build <test, mostly works, make small change> go install
在此CL之前,當前目錄仍然具有來自“go build”的陳舊二進制文件。 如果$ PATH包含點,則運行程序名稱將找到這個陳舊的二進制文件,而不是新安裝的二進制文件。
我在發行說明中找不到任何提及的內容。 可能是文檔問題。
似乎解決方案是使用go install
生成的二進制文件。
編輯:如果您想要跟進更新, 這是Go問題跟蹤器上的問題。 應該由1.5.1修正。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.