yarn的安装及指令


像npm一样,yarn是由Facebook发布的一款取代npm的包管理工具。

一、yarn的安装

安装前提: node.js, 安装 npm install -g yarn
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

二、yarn的常用指令

安装yarn npm install -g yarn
安装成功后,查看版本号 yarn --version
创建文件夹 yarn md yarn
进入yarn文件夹 cd yarn

初始化项目

yarn init // 同npm init,执行输入信息后,会生成package.json文件
yarn的配置项:
yarn config list // 显示所有配置项
yarn config get //显示某配置项
yarn config delete //删除某配置项
yarn config set [-g|–global] //设置配置项

安装包:

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

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

yarn add [package] // 在当前的项目中添加一个依赖包,会自动更新到package.json和yarn.lock文件中
yarn add [package]@[version] // 安装指定版本,这里指的是主要版本,如果需要精确到小版本,使用-E参数
yarn add [package]@[tag] // 安装某个tag(比如beta,next或者latest)
//不指定依赖类型默认安装到dependencies里,你也可以指定依赖类型:

yarn add --dev/-D // 加到 devDependencies
yarn add --peer/-P // 加到 peerDependencies
yarn add --optional/-O // 加到 optionalDependencies

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

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

发布包

yarn publish
移除一个包
yarn remove <packageName>:移除一个包,会自动更新package.json和yarn.lock
更新一个依赖
yarn upgrade 用于更新包到基于规范范围的最新版本
运行脚本
yarn run 用来执行在 package.json 中 scripts 属性下定义的脚本
显示某个包的信息
yarn info <packageName> 可以用来查看某个模块的最新版本信息

缓存

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

三、yarn和npm的区别

作为fb推出的用来取代npm的包管理工具,yarn自然具备了许多优点:

  • 速度超快——yarn 缓存了每个下载过的包,所以再次使用时无需重复下载。 同时利用并行下载以最大化资源利用率,因此安装速度更快。
  • 超级安全——在执行代码之前,yarn 会通过算法校验每个安装包的完整性。
  • 超级可靠——使用详细、简洁的锁文件格式和明确的安装算法,yarn 能够保证在不同系统上无差异的工作
npm yarn
npm install yarn
npm isnatlll react --save yarn add react
npm uninstall react --save yarn remove react
npm install react --save-dev yarn add react --dev
npm update --save yarn upgrade

npm 也做出了一些优化和改进:

  • 默认新增了类似yarn.lock的 package-lock.json;
  • git 依赖支持优化:这个特性在需要安装大量内部项目(例如在没有自建源的内网开发),或需要使用某些依赖的未发布版本时很有用。在这之前可能需要使用指定 commit_id 的方式来控制版本。
  • 文件依赖优化:在之前的版本,如果将本地目录作为依赖来安装,将会把文件目录作为副本拷贝到 node_modules 中。而在 npm5 中,将改为使用创建 symlinks 的方式来实现(使用本地 tarball 包除外),而不再执行文件拷贝。这将会提升安装速度。目前yarn还不支持。

相信在相互促进之下,两者都会在速度和使用上有着更好地提升,为我们带来更好的使用体验


Author: Casey Lu
Reprint policy: All articles in this blog are used except for special statements CC BY 4.0 reprint polocy. If reproduced, please indicate source Casey Lu !
评论
 Previous
React之高阶组件 React之高阶组件
高阶函数: 函数可以作为参数被传递 函数可以作为返回值被输出 高阶组件: 接受一个组件作为参数,并返回一个新组件 高阶组件的本质是函数非组件 高阶组件的定义 高阶组件的使用 higherOrderComponent(Wr
2020-05-26
Next 
React Hooks学习之在useEffect实现异步 React Hooks学习之在useEffect实现异步
关于React Hooks最开始是看了阮一峰老师的《React Hooks 入门教程》,里面非常精准地讲了常用的hooks的基本使用,感觉hooks真的是非常方便。本文主要探究useEffect中的异步用法。 useEffect(() =
2020-05-14
  TOC