我的gopath指向$HOME/go
目錄。我還有一些我不想在github或其他任何地方分享的個人軟件包。然而,當我嘗試用go get -u all
更新遠程包我得到:Go工作空間問題:如何區分遠程軟件包中的本地軟件包?
# cd /home/go/src/marcio/somePackage; git pull --ff-only
fatal: No remote repository specified. Please, specify either a URL or a
remote name from which new revisions should be fetched.
package code.google.com/p/go.tools/astutil
...
long list of dependencies
...
imports marcio/somePackage: exit status 1
這是非常混亂。我如何告訴go get
將我維護的軟件包與用作依賴關係的軟件包不同?爲什麼go工具認爲所有東西都必須從遠程源獲取?
UPDATE:
它看起來像圍棋的工作空間強加你混合用戶維護代碼的依賴關係。這看起來不穩定。有時候,人們想要擦掉未使用的垃圾包,並且存在擦除錯誤的文件夾或未提交的東西的風險,以及許多其他問題......是否有任何方法將用戶維護的包與遠程取回的相關性分開?
用戶維護的代碼和依賴項之間的這種混合看起來對我來說非常不穩定,所以我更新了這個問題。好的答案,順便說一句。很好地瞭解這張外卡。 – marcio 2014-12-04 01:12:05
@marcioAlmada:回覆您的更新。總之,不要擔心混合代碼,並且遠程代碼處於版本控制中(並且您的本地代碼應該也是如此,對;))。如果您需要多個版本的任何東西,請在不同的GOPATH中使用多個副本。 – JimB 2014-12-04 01:46:54