我已經創建了一個go腳本編譯,啓動,檢查狀態,並結束我創建的一個web服務(這也是去)。不過,我已經走到了路障。去安裝排除文件
隨着編譯功能,我運行以下命令:
go install .
其中提供了以下錯誤:
./script.go:55: main redeclared in this block
previous declaration at ./hello.go:8
這是有道理的,因爲我有兩個不同的文件,既與主FUNC和主包。我也嘗試過移動腳本到另一個文件夾,然後更改命令跑到:
go install {path}
其中{}路徑等於我想安裝路徑/編譯。然後我得到了以下錯誤:
exit status 1: can't load package: package /var/www/test.com/go: import "/var/www/test.com/go": cannot import absolute path
所以在最後我還以爲只有一個解決辦法的(和我起來聽聽其他人是不是我的是不是最好的方法)。我的想法是排除腳本文件與其他文件編譯,但我不確定如何。
我做了一些研究,找不到一個簡單的方法來做到這一點(比如使用go install命令的--exclude標誌)。有人知道如何完成我想要實現的目標嗎?
謝謝。
我覺得你試圖將文件分成不同的包是正確的做法。最新的錯誤告訴你'go'的構建系統無法加載指定的包,這是一個不同的錯誤(與你原來的問題沒有直接關係)。在不知道GOPATH值和項目目錄結構的情況下,很難提出解決方案來解決這個問題。 – putu
如「無法導入絕對路徑」錯誤所示,go工具使用導入路徑,而不是絕對路徑。使用導入路徑運行'go install'。 – JimB