由于安全锁定,我们的服务器无法连接到 Internet。
为了能够将 GO 与 3rd 方模块一起使用,我看到我们必须选择
1)我们的笔记本电脑可以连接到互联网。是否可以在笔记本电脑上“去获取 github....”,然后将该模块复制到服务器?我们将如何做到这一点?
2) 我们在网络上有一个 GOGS 服务器。是否可以克隆 github 存储库,然后将其作为私有存储库推送到 GOGS 服务器?我们需要对 GO 配置进行哪些更改?(如果可能,这将是首选)
你应该使用Godep,一个 go 的依赖工具。
如何在新项目中使用 godep
假设您已经完成了所有工作,因此您可以使用 go install 构建项目并使用 go test 对其进行测试,这是开始使用的一个命令:
$ godep save
这会将依赖项列表保存到文件中
Godeps/Godeps.json
并将其源代码复制到vendor/
因此,您将在项目中拥有依赖项(如果您在开发机器中执行这些步骤)。
很可能所有项目的所有源和所有外部库都在$GOPATH目录中。只需同步所需的文件夹即可。
是的,这是可能的。在将 Github repo 克隆推送到您的 Gogs 服务器后 - 您需要做的就是从新位置导入一个包(go get),在您的源代码中,您必须用您拥有的东西替换“github.com”,例如“gogs” 。当地的”:
import "gogs.local/username/packagename"