我知道應該避免本地進口,但是在這種情況下需要特殊情況。這是一個私有存儲庫,go get ./...由于服務器上缺少私有密鑰,當與絕對URL一起使用時,heroku buildpack在該階段失敗。現在我得到這個錯誤local import ".." in non-local package。所有導入路徑都已更改為本地版本,那么還有什么可以使程序包成為“非本地”文件呢?我該如何解決?
3 回答

炎炎設計
TA貢獻1808條經驗 獲得超4個贊
我修好了它。問題是root軟件包在中$GOPATH/src/<host>/<user>/<package>
。一旦我將軟件包移至~/Git/<package>
錯誤處,錯誤就消失了(因此,將其“本地化”)。

猛跑小豬
TA貢獻1858條經驗 獲得超8個贊
彼得所以是對的。查看該錯誤消息的生成代碼,如果所加載的軟件包不是以/ ./或../開頭,而是導入了該錯誤,則會發生該錯誤。就您的問題而言,可能是由多種原因引起的。
go get 導致構建一個使用非本地路徑引用的依賴包,然后依次加載本地路徑。
您將獲得包含本地導入的非本地包路徑。
我認為也許您應該只解決服務器上丟失的私鑰問題,而不要嘗試使用本地路徑。
要正確調試,我需要知道您所獲得的確切軟件包以及它們的傳遞依存關系。
最后一件事,為什么要使用go get進行本地路徑安裝(即go get ./...
)?在這種情況下,通常需要安裝或進行構建。
- 3 回答
- 0 關注
- 291 瀏覽
添加回答
舉報
0/150
提交
取消