通过 npm 源来限制包管理工具

2019-10-19 22:49:55 +08:00
 vivaxy

背景

npmyarn 不共享版本锁文件。锁定文件对于维护项目的稳定性是必需的。

我们如何确保开发人员在我们的项目中使用相同的包管理工具?

现有一些方法利用 preinstall 钩子。参见:

但这种做法在项目为 npm 包时不起作用。当发布 npm 包时,npm publish 也将调用 preinstall 钩子。

自定义 npm 源

也许我们可以通过自定义 npm 源来做到这一点。

源代码,请参见 npm-registry-proxy

我们可以将 registry="https://npm-registry-proxy.vivaxy.now.sh/yarn/https%3A%2F%2Fregistry.npmjs.org%2F/" 添加到 .npmrc 中。

结果

在项目 .npmrc 中,我们有 registry="https://npm-registry-proxy.vivaxy.now.sh/yarn/https%3A%2F%2Fregistry.npmjs.org%2F/"

限制包管理工具的功能实现了。但是发布 npm 包时,PUT 请求不会成功转发到目标源,还是不能用在 npm 包的项目中。

2542 次点击
所在节点    JavaScript
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/611018

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX