您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

NPM 迁移 Yarn

对多数来说,从npm迁移的过程应该非常简单。Yarn和npm使用相同的package.json格式,而且Yarn可以从npm安装依赖包。

如果你打算在现有项目中尝试Yarn,只需执行:

yarn

Yarn将通过自己的解析算法来重新组织node_modules 目录,这个算法和是兼容的。

如果出错,请查阅issue列表,或者向报告。

执行或者yarn add <package>命令后,Yarn都会在项目根目录下yarn.lock。 你无需理解此的具体,但请记得将其提交到管理系统。 当者也从npm迁移到Yarn时,yarn.lock的存在会确保他们得到的依赖包与你的完全相同。

多数情况下,第一次执行yarn或者yarn add都会成功。 有些情况下,package.json里的信息不足以找出冗余依赖,Yarn安装依赖时采用的确定性算法就会导致依赖冲突。 这种情况常常出现在那些由于npm install执行出现问题,node_modules夹被多次,并重新安装的大型项目里。 如果发生这种情况,请在迁移到Yarn前尝试使用npm命令来让依赖的版本更明确。

项目的者可以继续使用npm,所以无需让每个人同时迁移。 使用yarn会让开发者得到完全相同的配置,而使用npm却未必,但这是npm的预期行为。

如果你之后发现Yarn并不适合自己,你无需任何特别就能迁移回npm。 如果项目里所有人都不再使用Yarn,就可以yarn.lock(但不是必须)。

如果项目目前使用了npm-shrinkwrap.json,请小心你可能会得到一组不同的依赖。 Yarnnpm shrinkwrap,因为里没有足够的信息来支撑Yarn的确定性算法。 所以如果项目正在使用 shrinkwrap ,那么团队成员同时迁移到Yarn可能会更容易一点。 只需现有的npm-shrinkwrap.json,并提交新创建的yarn.lock。



联系我
置顶