首页 > 解决方案 > 小组项目同时使用 NPM + Yarn。如何过渡到只使用一个?

问题描述

如标题所示,我正在开展一个项目,其中不同的成员使用不同的工具(NPM 和 Yarn)来处理包和模块等。

我们的目标是过渡到只使用 Yarn(不是我们的决定)。任何人都可以分享详细说明如何完成这样的事情的资源吗?或者帮助我快速完成这些步骤?

我尝试在谷歌上搜索答案,但每一个结果都是另一篇文章,解释了为什么你应该放弃 NPM/Yarn 并将你的项目转移到 Yarn/NPM,而没有解释从使用两者转移到只使用一个中期项目需要采取的步骤. 谢谢!

标签: npmyarnpkg

解决方案


看起来 Yarn 有一个页面讨论如何从 NPM 迁移到它:

https://yarnpkg.com/lang/en/docs/migrating-from-npm/

在大多数情况下,第一次运行 yarn 或 yarn add 就可以了。在某些情况下,package.json 文件中的信息不够明确,无法消除依赖项,Yarn 选择依赖项的确定性方式会遇到依赖项冲突。这尤其可能发生在大型项目中,有时 npm install 不起作用,开发人员经常删除 node_modules 并从头开始重建。如果发生这种情况,请尝试使用 npm 使依赖项的版本更明确,然后再转换为 Yarn。

从 Yarn 1.7.0 开始,您可以使用 yarn import 将 npm 生成的 package-lock.json 状态导入 Yarn。

它们使用许多相同的文件和结构。重要的是签入 yarn.lock 文件并确保每个人都使用 Yarn 而不是 NPM 进行安装。

如果您有一个构建服务器,您可能可以使用它来强制执行这些依赖项,但它会做更多的工作。


推荐阅读