git - 如何使用带有模块的私有 go 包
问题描述
我有一个提供 API 但不在 github.com 下的项目,它位于github.ny.nts.com
How can I use it on my code?
我已添加到一个新程序中,并在导入中放入:
import “github.ny.nts.com/fds/client”
现在,当我运行 go mod init 时,它没有向 go.mod 文件添加任何内容(与该项目相关)
我如何定义“注册表”(类似于 nodejs/npm,当你可以知道从哪里下载包时)并告诉 gomod 把它拿去我公司的 git?
我能够毫无问题地克隆项目,所以我对项目 git 没有任何访问问题。
解决方案
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 ...
并拉取您的包
推荐阅读
- python - 正在上传到谷歌驱动器的文件没有保留它的名称。[https://developers.google.com/drive/v3/web/simple-upload]
- asp.net - 将 nvarchar 值“p”转换为数据类型 int 时转换失败
- java - StringIndexOutOfBounds 从字符串设置 int 值时出现异常
- java - 初始化值并在输入文本时检测它
- c# - 如何将 Class 类型发送到另一个类并创建该类的实例?
- angular - 让 angular-oauth2-oidc 从其他选项卡检索访问令牌
- reactjs - Redux:道具未定义
- mysql - 从与两个数据透视表匹配的第三个表中检索行
- arrays - 如果尚不可用,则添加到数组
- mysql - 在 JDBC MySql 连接字符串中添加 2 个会话变量