npm
和 yarn
不共享版本锁文件。锁定文件对于维护项目的稳定性是必需的。
我们如何确保开发人员在我们的项目中使用相同的包管理工具?
现有一些方法利用 preinstall
钩子。参见:
但这种做法在项目为 npm 包时不起作用。当发布 npm 包时,npm publish
也将调用 preinstall
钩子。
也许我们可以通过自定义 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/"
。
yarn add
时,能够成功安装依赖。npm i
时,会提示安装错误。限制包管理工具的功能实现了。但是发布 npm 包时,PUT
请求不会成功转发到目标源,还是不能用在 npm 包的项目中。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.