golang中的package.json等价物

时间:2017-08-14 05:28:12

标签: node.js go

我将从Node.js转到Go,我习惯于添加所有模块,然后人们在克隆我的包时必须npm install

与Go的相同之处是什么?我有一些进口产品,并且不希望人们在使用我的包装时手动安装它。

我还不确定是否只使用package main创建了一个简单的Go应用程序,如果它允许人们只go get。我真的很喜欢像Node.js这样的回购共享方式

2 个答案:

答案 0 :(得分:4)

  

与Go的相同之处是什么?我有一些进口产品,并且不希望人们在使用我的包装时手动安装它。

你不必做任何事情。人们不必手动安装您导入的包。有人的时候

go get github.com/FrickeFresh/awesome

您在awesome软件包中导入的所有依赖项都将根据需要自动下载。

默认情况下跳过测试文件,但用户也可以通过包含-t:

来下载它们
go get -t github.com/FrickeFresh/awesome

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

如果您想深入研究销售特定版本的依赖项,可以使用许多文章/工具。 官方工具是dep:

https://github.com/golang/dep

答案 1 :(得分:1)

基本上你应该看一下vendoring。有一些工具可以帮助您进行版本控制。就我个人而言,我使用的是仇杀,这只是一个小小的工具。引用的包作为git子模块进入供应商文件夹。因此,如果有人检查我的回购,他们只需git submodule update --init --recursive。包版本可以在相应的子模块中指定为git commit id。

还有用于在文件中维护deps的工具,请查看here