官网地址:https://www.yarnpkg.cn/getting-started
yarn中文文档:yarn.bootcss.com/
yarn 是 facebook 发布的一款取代npm的包管理工具。
npm(node package management),是nodejs内置的软件包管理器。
那么用于取代 npm 的 yarn 又有什么优点呢?
1.速度快。yarn 缓存了每个下载过的包,所以再次使用时无需重复下载。 同时利用并行下载以最大化资源利用率,因此安装速度更快。(yarn是并行安装包,而npm是串行安装,yarn速度更快)
2.安全。在执行代码之前,yarn 会通过算法校验每个安装包的完整性。
3.可靠。使用详细、简洁的锁文件格式和明确的安装算法,yarn 能够保证在不同系统上无差异的工作。
yarn.lock
记录被确切安装上的模块的版本,防止拉取到不同版本的代码,产生的bug。
//安装
npm install -g yarn
//查看版本
yarn -v
//或
yarn -version
// 查看yarn镜像源
yarn config get registry
// 设置yarn镜像源为淘宝镜像
yarn config set registry https://registry.npm.taobao.org/
要是创建项目的话,接着以下命令:
// 安装全局vue-cli
yarn global add @vue/cli
// 检查vue是否被安装
vue -V
// 创建vue项目(与npm创建vue3项目一样)
vue create 项目名称
// 成功后
cd 项目名称
//安装依赖包
yarn
// 说明:yarn是 yarn install 的简写,可直接敲击yarn,功能和npm install一样
// 运行项目
yarn run serve
// 浏览器会自动打开运行一个页面,出现以下页面,说明成功了。
yarn常用指令:
// 初始化一个新项目
yarn init
(会生成package.json文件)
// 显示命令列表
yarn help
// 安装所有包
yarn install
//注意:
yarn add xxx --save //将xxx保存配置信息到pacjage.json。默认为dependencies节点中。
yarn add xxx --save-dev //将xxx保存配置信息到pacjage.json的devDependencies节点中。
//dependencies:运行时的依赖,发布后,即生产环境下还需要用的模块
//devDependencies:开发时的依赖。里面的模块是开发时用的,发布时用不到它。
// 安装xxx包(会更新package.json和yarn.lock)
yarn add xxx
// 安装yyy版本的xxx包
yarn add xxx@yyy
// 全局安装xxx包
yarn global add xxx
// 升级依赖包
yarn upgrade [package]
yarn upgrade [package]@[version]
yarn upgrade [package]@[tag]
// 删除xxx包
yarn remove xxx
//举例:
yarn add vue 安装一个包
yarn add vue@2.5.0 安装一个包
yarn upgrade vue 更新一个包
yarn upgrade vue@3.0.0 指定更新某个版本的包
yarn remove vue
yarn add vue 安装到dependencies
yarn add vue --save-dev 安装到devDependencies
npm 和 yarn 对比:
npm | yarn | 用法 |
---|---|---|
npm install | yarn install | 一键安装package.json的所有包 |
npm install [package] --save / -S | yarn add [package] | 安装到dependency |
npm install [package] --save-dev/ -D | yarn add [package] --save-dev | 安装到devDependencies |
npm i [package]@[版本号] | yarn add [package]@[版本号] | 指定版本号下载更新 |
npm install [package] --global | yarn global add [package] | 全局安装某个包 |
npm update --global | yarn updade upgrade | 更新所有包 |
npm uninstall [package] | yarn remove [package] | 删除某个包 |
参考:https://juejin.cn/post/6844904111083634695