yarn 使用

  • Post author:
  • Post category:其他




1. yarn 使用



1.1. 什么是 yarn?

Yarn 是 facebook 发布的一款取代 npm 的包管理工具。



1.2. yarn 的特点



1.2.1. 速度超快。

Yarn 缓存了每个下载过的包, 所以再次使用时无需重复下载。 同时利用并行下载以最大化资源利用率, 因此安装速度更快。



1.2.2. 超级安全。

在执行代码之前, Yarn 会通过算法校验每个安装包的完整性。



1.2.3. 超级可靠。

使用详细、简洁的锁文件格式和明确的安装算法, Yarn 能够保证在不同系统上无差异的工作。



1.3. 为什么会出现 yarn

npm 存在一些历史遗留问题, npm 很多依赖不会指定版本号, 默认会安装最新的版本, 这样就会出现问题: 当新版本无法兼容之前的项目, 原项目可能会出现 bug。yarn 为了解决这个问题推出了 yarn.lock 的机制, 把依赖模块的版本号全部锁定, 当你执行 yarn install 的时候, yarn 会读取这个文件获得依赖的版本号, 然后依照这个版本号去安装对应的依赖模块, 这样依赖就会被锁定, 以后再也不用担心版本号的问题了。其他人或者其他环境下使用的时候, 把这个 yarn.lock 拷贝到相应的环境项目下再安装即可。

注意: 这个文件不要手动修改它, 当你使用一些操作如 yarn add 时, yarn 会自动更新 yarn.lock。



1.4. yarn 的安装



1.4.1. 下载 node.js, 使用 npm 安装

npm install -g yarn

查看版本:

yarn --version



1.4.2. Yarn 淘宝源安装, 分别复制粘贴以下代码行到黑窗口运行即可

yarn config set registry https://registry.npm.taobao.org -g
yarn config set sass_binary_site http://cdn.npm.taobao.org/dist/node-sass -g



1.5. yarn 的常用命令



1.5.1. 初始化项目

yarn init // 同 npm init, 执行输入信息后, 会生成 package.json 文件



1.5.2. yarn 的配置项


  • yarn config list

    // 显示所有配置项

  • yarn config get <key>

    // 显示某配置项

  • yarn config delete <key>

    // 删除某配置项

  • yarn config set <key> <value> [-g|--global]

    // 设置配置项



1.5.3. 安装包


  • yarn install

    // 安装 package.json 里所有包, 并将包及它的所有依赖项保存进 yarn.lock

  • yarn install --flat

    // 安装一个包的单一版本

  • yarn install --force

    // 强制重新下载所有包

  • yarn install --production

    // 只安装 dependencies 里的包

  • yarn install --no-lockfile

    // 不读取或生成 yarn.lock

  • yarn install --pure-lockfile

    // 不生成 yarn.lock



1.5.4. 添加包 (会更新 package.json 和 yarn.lock)


  • yarn add [package]

    // 在当前的项目中添加一个依赖包, 会自动更新到 package.json 和 yarn.lock 文件中

  • yarn add [package]@[version]

    // 安装指定版本, 这里指的是主要版本, 如果需要精确到小版本, 使用 – E 参数

  • yarn add [package]@[tag]

    // 安装某个 tag(比如 beta,next 或者 latest)

默认安装包的主要版本里的最新版本, 下面两个命令可以指定版本:


  • yarn add --exact/-E

    // 安装包的精确版本。例如

    yarn add foo@1.2.3

    会接受 1.9.1 版, 但是

    yarn add foo@1.2.3 --exact

    只会接受 1.2.3 版

  • yarn add --tilde/-T

    // 安装包的次要版本里的最新版。例如

    yarn add foo@1.2.3 --tilde

    会接受 1.2.9, 但不接受 1.3.0



1.5.5. 发布包


yarn publish



1.5.6. 移除一个包


yarn remove <packageName>

: 移除一个包, 会自动更新 package.json 和 yarn.lock



1.5.7. 更新一个依赖


yarn upgrade

用于更新包到基于规范范围的最新版本



1.5.8. 运行脚本


yarn run

用来执行在 package.json 中 scripts 属性下定义的脚本



1.5.9. 显示某个包的信息


yarn info <packageName>

可以用来查看某个模块的最新版本信息



1.5.10. 缓存

  • yarn cache

    • yarn cache list # 列出已缓存的每个包 yarn cache dir # 返回 全局缓存位置 yarn cache clean # 清除缓存



1.6. npm 与 yarn 命令比较

NPM YARN 说明

npm init

yarn init
初始化某个项目

npm install/link

yarn install/link
默认的安装依赖操作

npm install taco --save

yarn add taco
安装某个依赖, 并且默认保存到 package

npm uninstall taco --save

yarn remove taco
移除某个依赖项目

npm install taco --save --dev

yarn add taco --dev
安装某个开发时依赖项目

npm update taco --save

yarn upgrade taco
更新某个依赖项目

npm install taco --global

yarn global add taco
安装某个全局依赖项目

npm publish/login/logout

yarn publish/login/logout
发布 / 登录 / 登出, 一系列 NPM Registry 操作

npm run/test

yarn run/test
运行某个命令



1.7. 使用 yrm 工具管理一些 npm 源



1.7.1. 安装

yarn global add yrm



1.7.2. 查看可用源

yrm ls



1.7.3. 选择源

yrm use yarn



1.8. 快速删除 node_modules

手动删除真的很慢:

  • 安装:

    npm install rimraf -g
  • 使用:

    rimraf node_modules

rimraf 是 node 的一个包, 可以快速删除 node_modules, 再也不用等半天了。



1.9. Yarn docs



版权声明:本文为wan212000原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。