npm - 小组项目同时使用 NPM + Yarn。如何过渡到只使用一个?
问题描述
如标题所示,我正在开展一个项目,其中不同的成员使用不同的工具(NPM 和 Yarn)来处理包和模块等。
我们的目标是过渡到只使用 Yarn(不是我们的决定)。任何人都可以分享详细说明如何完成这样的事情的资源吗?或者帮助我快速完成这些步骤?
我尝试在谷歌上搜索答案,但每一个结果都是另一篇文章,解释了为什么你应该放弃 NPM/Yarn 并将你的项目转移到 Yarn/NPM,而没有解释从使用两者转移到只使用一个中期项目需要采取的步骤. 谢谢!
解决方案
看起来 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 进行安装。
如果您有一个构建服务器,您可能可以使用它来强制执行这些依赖项,但它会做更多的工作。
推荐阅读
- wordpress - 修复/隐藏 WordPress 中基于路径的漏洞
- mysql - 有人可以解释一下这个 sql 查询是如何工作的。按部分排序
- r - 如何在 R 中为分类模型编写自定义预测函数?
- python - 我如何修复 TypeError:当我运行它时,我的代码中 main.py 的第 4 行预期有一个字符缓冲区对象
- php - 如何在 wordpress 类别页面上动态添加活动类
- go - 有没有办法定义自定义 Go 模板操作
- git - git如何忽略某个目录中的所有文件和子目录,但有一些例外?
- angular - 无法解析 AngularFirestoreDocument 的所有参数:(?, ?)
- node.js - 在 Sinon.js 中监视原型方法
- python - 无法将带有嵌套数组的 dict 对象插入 MongoDB (pymongo)