如果你打算在现有项目中尝试Yarn,只需执行:
Yarn将通过自己的解析算法来重新组织node_modules
目录,这个算法和是兼容的。
执行yarn
命令或者yarn add <package>
命令后,Yarn都会在项目根目录下生成yarn.lock
文件。 你无需理解此文件的具体内容,但请记得将其提交到代码管理系统。 当其他开发者也从npm
迁移到Yarn时,yarn.lock
文件的存在会确保他们得到的依赖包与你的完全相同。
多数情况下,第一次执行yarn
或者yarn add
都会成功。 有些情况下,package.json
文件里的信息不足以找出冗余依赖,Yarn安装依赖时采用的确定性算法就会导致依赖冲突。 这种情况常常出现在那些由于npm install
执行出现问题,node_modules
文件夹被多次删除,并重新安装的大型项目里。 如果发生这种情况,请在迁移到Yarn前尝试使用npm
命令来让依赖的版本更明确。
如果你之后发现Yarn并不适合自己,你无需任何特别修改就能迁移回。 如果项目里所有人都不再使用Yarn,就可以删除yarn.lock
文件(但不是必须)。
如果项目目前使用了npm-shrinkwrap.json
文件,请小心你可能会得到一组不同的依赖。 Yarn不支持npm shrinkwrap文件,因为文件里没有足够的信息来支撑Yarn的确定性算法。 所以如果项目正在使用 shrinkwrap 文件,那么团队成员同时迁移到Yarn可能会更容易一点。 只需删除现有的npm-shrinkwrap.json
文件,并提交新创建的yarn.lock
文件。