文章目录

  • 一、 yarn
  • 二、从npm 迁移到 yarn


一、 yarn

Yarn 对你的代码来说是一个包管理器。它可以让你使用并分享 全世界开发者的(例如 JavaScript)代码。 Yarn 能够快速、安全、 并可靠地完成这些工作。代码通过 包(package) (或者称为 模块(module)) 的方式来共享。 一个包里包含所有需要共享的代码,以及描述包信息的文件,称为 package.json

1、yarn中文官网 2、

  • yarn利用npm的安装方式:npm install -g yarn
  • 检测yarn是否安装成功:yarn --version
  • 怎么将yarn改成npm npm怎么安装yarn_yarn


3、 使用方法:

  • 初始化一个新项目: yarn init
  • 添加依赖包:
  • yarn add [package]
  • yarn add [package]@[version]
  • yarn add [package]@[tag]
  • 将依赖项添加到不同依赖项类别中 , 分别添加到 devDependenciespeerDependenciesoptionalDependencies类别中:
  • yarn add [package] --dev
  • yarn add [package] --peer
  • yarn add [package] --optional
  • 升级依赖包
  • yarn upgrade [package]
  • yarn upgrade [package]@[version]
  • yarn upgrade [package]@[tag]
  • 移除依赖包
  • yarn remove [package]
  • 安装项目的全部依赖
  • yarn install

二、从npm 迁移到 yarn

官网:从 npm 迁移到 yarn:

强烈建议收藏本文,英文文档直译,可直接翻阅本文

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

2、如果你想在现有的npm项目上运行yarn,试着运行:yarn(将项目初始化)

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

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

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

5、 在大多数情况下,第一次运行yarn 或者 yarn add命令才会起作用。相同的情况下,package.json文件中的信息并不明确,无法消除依赖关系,而唯一明确的方式是yarn选择的依赖会运行到依赖冲突中去。

  • 特别在大型项目中,有时候npm安装不起作用,并且开发人员频繁移除node_modules和从头开始重建。如果发生这种情况,尝试使用npm让依赖的版本更明确,然后再换成yarn。

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

  • 项目中的其他开发人员可以继续使用npm,所以你不需要让项目中的每个人去同时转换成使用yarn。使用yarn的开发人员将会获取到完全相同的配置,使用npm的开发人员可能会获取到在npm预期下稍微不同的配置。
  • 当你觉得yarn并不合适的时候,你可以重新使用npm并且不需要做其他特殊的改变。如果项目中没有人使用yarn的时候,你可以选择是否删除你旧的yarn.lock文件,都不影响使用。

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