5

我们知道 golang 支持从著名的代码托管站点导入包,例如 github、google code 等,但我想弄清楚 golang 是否支持从我的私有 subversion/git 存储库导入包?如果 golang 支持的话,在项目之间共享一些通用包会变得更容易。

一个理想的例子:

package main

import "192.168.12.13/trunk/share/foolib"

func main() {
   ....
   foolib.xxxx...
}
4

2 回答 2

6

是的,您可以从私人存储库中导入代码,运行go help importpath以获取说明。

然而,这是一个两阶段的方法:首先获取代码,然后将其编译到您的项目中。

您的示例表明您要导入远程代码(因此,本质上是一个阶段过程),我怀疑这是可能的

于 2012-10-24T10:09:21.457 回答
2

如果它是一个私有存储库,您几乎肯定最好手动管理它。

对于颠覆,使用外部颠覆;对于 git 使用子模块等。

go get ...

是一个有用的工具,但是一旦您开始使用封闭签名的内部存储库,您可能会遇到困难;因为大多数非愚蠢的源代码控制已经支持这种类型的“子模块”功能,你可能最好使用你使用的任何源代码控制的设施并将你的自定义子模块导入你的“src”目录,然后,如上所述,导入使用:

import mylib "modules/xxx/trunk/src/blah" 

...而不是试图强迫去做所有的事情。

于 2013-02-18T08:01:22.440 回答