如何将私有go包与模块一起使用

时间:2019-11-06 12:20:48

标签: git go github registry go-modules

我有一个提供API的项目,但不在github.com下,它在github.ny.nts.com下 如何在我的代码中使用它?

我已添加到新程序中,并在导入中添加了

import “github.ny.nts.com/fds/client”

现在,当我运行go mod init时,它没有向go.mod文件添加任何内容(与该项目有关)

如何在运行时定义“注册表”(类似于nodejs / npm,当您可以告诉从哪里下载软件包时),并告诉gomod将其作为我的公司git?

我能够毫无问题地克隆项目,因此我对项目git的访问没有任何问题。

1 个答案:

答案 0 :(得分:0)

您可以通过在项目根目录中运行go get来隐式安装依赖项,例如

$> go get github.ny.nts.com/fds/client

如果存储库是私有的,则您需要实施一种解决方法,因为go get的默认值是https,用于克隆git存储库。从您的项目文件夹运行以下命令,将告诉git从该项目的仓库中提取软件包时使用SSH(因此也使用您存储的凭据):

$> git config insteadOf."https://github.ny.nts.com/".use "git@github.ny.nts.com:"

完成后,您应该可以运行go get ...并提取软件包