作者:手机用户2602898555 | 来源:互联网 | 2023-08-24 09:57
我是Golang的新手,我来自NodeJS,我有点担心依赖项管理是如何工作的。在Node中,您可以放心,NPM依赖项永远不会停止使用,因为它托管在NPM.com
我是 Golang 的新手,我来自 NodeJS,我有点担心依赖项管理是如何工作的。
在 Node 中,您可以放心,NPM 依赖项永远不会停止使用,因为它托管在 NPM.com 上,并且它们不允许所有者删除它们。然而,在 Github 中,所有者几乎可以删除整个 repo,并使世界上依赖它的每个项目都无法使用。
我想知道这是如何工作的。Golang 那边有镜子可以保证包的安全吗?或者有没有办法实现类似于 Node 的方法而不必在项目中托管包?
回答
当依赖包的所有者从 github 中删除存储库时,Golang 项目会发生什么?
没什么戏剧性的。
- 如果您不使用模块代理并将包移动到不同的托管站点:替换导入路径
- 如果您不使用模块代理,包将移动到不同的托管站点,包/模块使用的虚荣导入路径保持不变:无需任何操作。
- 如果您使用模块代理:无需任何操作。
很可能您已经使用了默认代理。这个问题远比 npm 世界中的任何问题都少。