git - 如何使用带有模块的私有(private) go 包

标签 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 文件添加任何内容(与该项目相关)

我如何在 go 中定义“注册表”(类似于 nodejs/npm,当你可以知道从哪里下载包时)并告诉 gomod 把它拿去我公司的 git?

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

最佳答案

您可以通过运行 go get 来隐式安装依赖项。在您的项目根目录中
$> go get github.ny.nts.com/fds/client
如果存储库是私有(private)的,您需要实现一个解决方法,如 go get默认为 https用于克隆 git repos。从您的项目文件夹中运行以下命令将告诉 git 在从您的存储库中提取此项目的包时使用 SSH(以及您存储的凭据):
$> git config insteadOf."https://github.ny.nts.com/".use "git@github.ny.nts.com:"
完成后,您应该可以运行 go get ...然后 pull 你的包裹

关于git - 如何使用带有模块的私有(private) go 包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58730071/

相关文章:

java - 子代码 "Out of Memory"和 "GC Overhead Limit Exceeded"

go - 代表许多领域的最优雅的方式

go - sql.Rows 到字符串 slice

php - 无法在公司防火墙后面使用 Composer 进行更新/安装

php - USB key 中的Linux测试环境(apache + php + git)?

php - 使用 git 维护不同版本的 webapp 的工作流程?

c++ - 在cmake项目中构建libgit2

sql - 在 go - gorm "mssql: Invalid column name ' id'

css - 如何在 Markdown 中获得对图像的更多样式控制?

git - 管理来自同一系统和不同用户名的多个 github 存储库