yarn官网文档(翻译)——从 npm 迁移到 yarn

原文:https://yarn.bootcss.com/docs/migrating-from-npm/

对于大多数用户来说从npm迁移到yarn是个简单的过程。yarn 可以使用和npm相同格式的 package.json,并且可以从你npm注册表中安装任何依赖包 。

如果你想在现有的npm项目上运行yarn,试着运行:

yarn

你的node_modules文件夹将会兼容yarn的分辨率算法和node.js模块的分辨率算法。

如果你的项目出错,请查看现有的issue,或者将问题提交到issue tracker。

当你运行yarn 或者yarn add [package]时,yarn会在你安装包的根目录下生成一个yarn.lock文件。你需要阅读或者去理解这个文件,只需要检查它是否已经在源代码管理里面。当其他人使用yarn代替npm时,yarn.lock文件会确保他们能精确获取和你相同的依赖。

在大多数情况下,第一次运行yarn 或者 yarn add命令才会起作用。相同的情况下,package.json文件中的信息并不明确,无法消除依赖关系,而唯一明确的方式是yarn选择的依赖会运行到依赖冲突中去。
特别在大型项目中,有时候npm安装不起作用,并且开发人员频繁移除node_modules和从头开始重建。如果发生这种情况,尝试使用npm让依赖的版本更明确,然后再换成yarn。

Yarn从版本1.7.0起,你可以通过使用yarn import,将npm生成的package-lock.json的状态导入到Yarn。

项目中的其他开发人员可以继续使用npm,所以你不需要让项目中的每个人去同时转换成使用yarn。使用yarn的开发人员将会获取到完全相同的配置,使用npm的开发人员可能会获取到在npm预期下稍微不同的配置。

当你觉得yarn并不合适的时候,你可以重新使用npm并且不需要做其他特殊的改变。如果项目中没有人使用yarn的时候,你可以选择是否删除你旧的yarn.lock文件,都不影响使用。

当你正在使用 npm-shrinkwrap.json文件时,请意识到你看你会得到不要的依赖集。yarn不会提供npm的shrinkwrap文件,因为他们没有租后的信息去支持yarn的更多确定性算法。如果你使用的是shrinkwrap文件,则可以更容易地去转换项目中每个人同时使用yarn,只需要移除你现有的npm-shrinkwrap.json 文件并且检查新创建的yarn.lock文件

# CLI commands comparison

npm (v5) Yarn
npm install yarn install
(N/A) yarn install --flat
(N/A) yarn install --har
npm install --no-package-lock yarn install --no-lockfile
(N/A) yarn install --pure-lockfile
npm install [package] yarn add [package]
npm install [package] --save-dev yarn add [package] --dev
(N/A) yarn add [package] --peer
npm install [package] --save-optional yarn add [package] --optional
npm install [package] --save-exact yarn add [package] --exact
(N/A) yarn add [package] --tilde
npm install [package] --global yarn global add [package]
npm update --global yarn global upgrade
npm rebuild yarn add --force
npm uninstall [package] yarn remove [package]
npm cache clean yarn cache clean [package]
rm -rf node_modules && npm install   yarn upgrade
npm version major yarn version --major
npm version minor yarn version --minor
npm version patch yarn version --patch

猜你喜欢

转载自blog.csdn.net/u011684839/article/details/81664236