相当于Golang中的package.json

Fri*_*esh 5 go node.js

我从Node.js转到Go,并且习惯于添加所有模块,然后npm install在克隆我的包时人们就不得不去了。

Go相当于什么?我有一些进口商品,不希望人们使用我的软件包时必须手动安装它。

我也不确定我package main是否仅使用if 创建一个简单的Go应用程序,从而使人们能够使用just go get。我真的很喜欢Node.js等回购共享的Go方法

Wal*_*vis 5

Go相当于什么?我有一些进口商品,不希望人们使用我的软件包时必须手动安装它。

您不必做任何事情。人们将不必手动安装您导入的软件包。当有人做

go get github.com/FrickeFresh/awesome
Run Code Online (Sandbox Code Playgroud)

您导入到超赞软件包中的所有依赖项将根据需要自动下载。

默认情况下,Go get会跳过测试文件,但用户也可以通过包含-t来下载这些文件:

go get -t github.com/FrickeFresh/awesome
Run Code Online (Sandbox Code Playgroud)

但这不是您需要担心的事情。

如果要研究供应商的特定版本的依赖项,则可以使用许多文章/工具。该官员工具DEP:

https://github.com/golang/dep


sko*_*omp 1

基本上你应该看看供应商。有一些工具可以帮助您进行版本控制。就我个人而言,我使用 vendetta,它只是一个小工具,可以将引用的包作为 git 子模块“获取”到供应商文件夹中。因此,如果有人查看我的存储库,他们就会这么做git submodule update --init --recursive。包版本可以指定为相应子模块中的 git commit id。

还有一些工具可用于在文件中维护 deps,请在此处查看。