Skip to main content

yarn

安装过程

检测(checking)→ 解析包(Resolving Packages) → 获取包(Fetching Packages)→ 链接包(Linking Packages)→ 构建包(Building Packages)

获取包

不过 Yarn 默认 prefer-online 模式,即优先使用网络数据。如果网络数据请求失败,再去请求缓存数据。

Yarn 会根据 cacheFolder+slug+node_modules+pkg.name 生成一个 path,判断系统中是否存在该 path,如果存在证明已经有缓存,不用重新下载。这个 path 也就是依赖包缓存的具体路径。

解决了哪些 npm 问题

  • yarn 缓存了每次你下载的模块
  • yarn 可以通过并行的网络请求最大限度利用网络资源
  • yarn 在开始安装一个包之前会先用 checksums 来验证,你不用担心本地的缓存的包被破坏了导致安装失败
  • ...

常用命令

yarn init # npm init
yarn # npm install
yarn install --frozen-lockfile # npm ci
yarn add react # npm i -S react
yarn add -D webpack # npm i -D webpack
yarn global add babel # npm i -g babel
yarn remove vue # 删除依赖包 npm uninstall vue
yarn upgrade # 升级 package.json 指定的所有依赖包(在package.json指定的版本范围内)
yarn upgrade --latest # 升级package.json指定的所有依赖包,但忽略package.json指定的版本范围,同时package.json中指定的版本将被重写
yarn outdated # 列出包的所有依赖项的版本信息。此信息包括当前安装的版本、基于语义版本所需的版本和最新的可用版本
yarn run # 列出包里所有可运行的脚本
yarn run dev # 运行package.json中scripts定义的脚本命令,等同于 npm runx
yarn upgrade-interactive --latest # 交互式升级

yarn global list --depth=0 # 查看全局安装的包
yarn list --pattern "gulp|grunt"

global

  • 查看全局安装包
yarn global list --depth=0
  • 移除全局安装包
yarn global remove xxx

config

yarn config list # 查看config
yarn config list # 查看当前目录相关config
yarn config get registry # 查看当前下载源,初始为https://registry.yarnpkg.com

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

create

yarn create react-app my-app

相当于执行了

yarn global add create-react-app
create-react-app my-app