美文网首页
JavaScript 包管理工具 yarn 的使用

JavaScript 包管理工具 yarn 的使用

作者: Tim_Lee | 来源:发表于2017-11-30 19:09 被阅读0次

    yarn 的优势

    yarn 是 facebook 在 2016年10月11日发布到 JavaScript 包管理工具。yarn 的优势可以总结为:更快、更稳定、更友好。

    1 更快

    • npm 是按照队列安装每一个包,前一个包会阻塞后一个包的安装。yarn 是并行安装,速度更快。
    • 如果安装过某个包,yarn 会从本机离线安装,无需再次下载
    • yarn 也是可以使用淘宝源。通过设置 ~/.npmrc 就可以使用。npmrc 配置文件中的具体内容参考解决 npm install electron 卡在 node install.js 的问题

    2 更稳定

    yarn 会锁定版本。本次安装的包,yarn 会在当前项目目录下生成 yarn.lock 文件,记录下准确的包版本,下次安装时能够原汁原味的还原。为什么要求强调这个原版还原。因为 npm install 安装一个包,会在 package.json 中得到一个带向上箭头的版本号 "^2.3.0",这代表在 2.X.X 大版本中的最新版本,而如果这个大版本中的内容变动比较大,往往就会引起版本的问题。受到 yarn 的压力,从 npm 5 开始也会自动生成一个版本锁定文件 package-lock.json。

    3 更友好

    个人感觉 npm 产生的 warning 更多,而且 yarn 的安装信息简短明确。

    比如安装一个包,如果没有在 package.json 中设置 description 和 repository 也会被 npm 发警告。

    > npm install babel-preset-es2015
    npm WARN deprecated babel-preset-es2015@6.24.1: ????  Thanks for using Babel: we recommend using babel-preset-env now: please read babeljs.io/env to update!
    npm WARN tmp@1.0.0 No description
    npm WARN tmp@1.0.0 No repository field.
    
    + babel-preset-es2015@6.24.1
    added 65 packages in 8.547s
    

    而 yarn 即使没有 yarn.lock 文件,也就是给一个 info 提示一下,而且 emoji 的信息用得也挺好。

    > yarn add babel-preset-es2015
    yarn add v1.3.2
    info No lockfile found.
    [1/4] 🔍  Resolving packages...
    warning babel-preset-es2015@6.24.1: ????  Thanks for using Babel: we recommend using babel-preset-env now: please read babeljs.io/env to update!
    [2/4] 🚚  Fetching packages...
    [3/4] 🔗  Linking dependencies...
    [4/4] 📃  Building fresh packages...
    success Saved lockfile.
    success Saved 69 new dependencies.
    ✨  Done in 6.54s.
    

    yarn 的使用

    1 安装 yarn

    直接使用 npm 全局安装 yarn 即可

    npm install -g yarn 
    

    虽然官方推荐使用 Homebrew 用如下方式安装 yarn。

    brew install
    

    但是 npm 安装方便又快捷,一行命令即可,何必去安装 Homebrew,毕竟 Homebrew 自身的安装与安装包,如果没有更换为国内的清华源或者中科大源等国内源,速度极其慢。

    2 安装与删除 npm 包

    yarn 与 npm 的对比

    • 根据 package.json 安装依赖包
    yarn install
    npm install
    
    • 当前目录下安装
    npm install <package_name>
    yarn add <package_name>
    
    • 安装指定版本
    npm install <package_name>@2.3.0
    yarn add <package_name>@2.3.0
    
    • 当前目录下的开发依赖中安装
    yarn add <package_name> --dev
    npm install <package_name> --save-dev
    
    • 全局安装
    yarn global add <package_name> 
    npm install <package_name> --g
    
    • 删除
    yarn remove <package_name>
    npm uninstall <package_name>
    

    3 初始化项目与运行脚本命令

    • 初始化项目 yarn init
      初始化后产生的 package.json 与 npm init 的结果类似,唯一就是 scripts 这个键名需要自己添加。

    • 运行脚本命令 yarn run <script>
      npm run 类似。

    参考

    npm和yarn的区别,我们该如何选择?

    技术丨微软工程师浅谈时下最火的包管理工具Yarn

    相关文章

      网友评论

          本文标题:JavaScript 包管理工具 yarn 的使用

          本文链接:https://www.haomeiwen.com/subject/uukbbxtx.html