在Golang中相当于package.json

我来到Node.js去,我习惯于添加我所有的模块,然后在克隆我的包的时候,只需要npm install

这和Go有什么相同之处? 我有几个import,不希望人们必须手动安装它,如果他们使用我的包。

我也不确定我是否创build了一个简单的Go应用程序,只需要一个package main就可以让人们go get 。 我真的已经拿起了回购共享像Node.js的方式

这和Go有什么相同之处? 我有几个import,不希望人们必须手动安装它,如果他们使用我的包。

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

 go get github.com/FrickeFresh/awesome 

您导入的所有依赖项都将根据需要自动下载。

跳过testing文件默认情况下,但用户可以下载这些包括-t:

 go get -t github.com/FrickeFresh/awesome 

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

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

https://github.com/golang/dep

基本上你应该看看vendoring。 有一些工具可以帮助您进行版本控制。 就我个人而言,我使用的只是一个小工具,即“获取”引用包作为git子模块到供应商文件夹。 所以如果任何人检查我的回购他们只是做的git submodule update --init --recursive 。 包版本可以在相应的子模块中指定为git commit id。

还有一些工具可以让你在一个文件中保存文件,在这里查看 。