我来自Node.js,我习惯于添加所有模块,然后在克隆我的包时只需要去npm install
。在Golang中相当于package.json
这和Go有什么相同之处?我有几个导入程序,不希望人们使用我的软件包时不得不手动安装它。
我也不确定我是否创建了一个简单的Go应用程序,只需package main
,如果允许人们只需go get
。我真的拿起了回购共享的方式像Node.js
我来自Node.js,我习惯于添加所有模块,然后在克隆我的包时只需要去npm install
。在Golang中相当于package.json
这和Go有什么相同之处?我有几个导入程序,不希望人们使用我的软件包时不得不手动安装它。
我也不确定我是否创建了一个简单的Go应用程序,只需package main
,如果允许人们只需go get
。我真的拿起了回购共享的方式像Node.js
基本上你应该看看vendoring。有一些工具可以帮助您进行版本控制。就我个人而言,我使用的只是一个小工具,它可以将引用的包作为git子模块“获取”到供应商文件夹中。所以,如果任何人检查我的回购,他们只是做git submodule update --init --recursive
。包版本可以在相应的子模块中指定为git commit id。
还有一些工具可以让你在一个文件中维护代码,检查出here。
这和Go有什么等价的?我有几个导入程序,不希望人们使用我的软件包时不得不手动安装它。
你不需要做任何事情。人们不必手动安装您导入的软件包。当有人这样做时
go get github.com/FrickeFresh/awesome
您导入到您的真棒包中的所有依赖关系将根据需要自动下载。
去拿跳过默认测试文件,但用户可以通过包括-t下载那些过于:
go get -t github.com/FrickeFresh/awesome
但是,这不是你需要担心的东西。
如果您想深入研究特定版本的依赖关系,可以使用许多文章/工具。该官方工具出发:
https://github.com/FrickeFresh/awesome - >页面未找到404请编辑您的答案与正确的链接 – muthukumar
指https://github.com/golang/go/wiki/PackageManagementTools – ymonad
去拿-v -t/...会递归安装所有进口。是的,这是连续三个点后第一个点没有空格 –