Yarn是类似npm的另一种javascript包管理工具。
它的目的是解决使用 npm 时面临的少数问题,即:
1. 安装的时候无法保证速度/一致性
2. 安全问题,因为 npm 安装时允许运行代码
一:安装yarn
1:安装命令
npm install -g yarn
2:查看yarn版本
yarn --version
二:初始化
1:进入项目目录下执行
yarn init
2:会在根目录下生成一个package.json,与npm类似具体不做解释
三:添加依赖
1. 添加包:yarn add [pkg-name] ,会自动安装最新版本,会覆盖指定版本号
举例添加 axios :
yarn add -g axios
安装完成之后我们会在./ node_modules下发现axios文件夹:
2:一次性添加多个包
yarn add -g jquery qs # 添加jquery以及qs
3:添加指定版本的包:yarn add [pkg-name]@ver
yarn add jquery@2.1.4 #添加 2.1.4版本的jquery
4: 将包更新到指定版本:yarn upgrade [pkg-name]@ver
yarn upgrade jquery@3.0.0 # 将 jquery从2.1.4更新到3.0.0版本
5:将包更新到最新版本:yarn upgrade --latest [pkg-name]
yarn upgrade --latest jquery
6:删除包:yarn remove [pkg-name]
yarn remove jquery
7:一次删除多个包:yarn remove [pkg-name1] [pkg-name2]
yarn remove bootstrap zepto
四、yarn.lock 自动锁定安装包版本
Npm 有一个名为 shrinkwrap 的特性,其目的是在生产环境中使用时锁定包依赖。shrinkwrap 的挑战是每个开发者都必须手动运行 npm shrinkwrap 生成 npm-shrinkwrap.json 文件。
使用 Yarn,则截然不同。在安装过程中,会自动生成一个 yarn.lock 文件,yarn.lock 会记录你安装的所有大大小小的。有点类似 PHP 开发者们所熟悉的 composer.lock。yarn.lock 锁定了安装包的精确版本以及所有依赖项,只要你不删除 yarn.lock 文件,再次运行 yarn install 时,会根据其中记录的版本号获取所有依赖包。有了这个文件,你可以确定项目团队的每个成员都安装了精确的软件包版本,部署可以轻松地重现,且没有意外的 bug。你可以把 yarn.lock 提交到本库里,这样其他签出代码并运行 yarn install 时,可以保证大家安装的依赖都是完全一致的。
例如上面安装的依赖会在yarn.lock中有记录,如下图:
五:yarn与npm命令对比
npm install | yarn add |
(N/A) | yarn add --flat |
(N/A) | yarn add --har |
npm install --no-package-lock | yarn add --no-lockfile |
(N/A) | yarn add --pure-lockfile |
npm install [package] --save | yarn add [package] |
npm install [package] --save-dev | yarn add [package] --dev |
(N/A) | yarn add [package] --peer |
npm install [package] --save-optional | yarn add [package] --optional |
npm install [package] --save-exact | yarn add [package] --exact |
(N/A) | yarn add [package] --tilde |
npm install [package] --global | yarn global add [package] |
npm update --global | yarn global upgrade |
npm rebuild | yarn add --force |
npm uninstall [package] | yarn remove [package] |
npm cache clean | yarn cache clean [package] |
rm -rf node_modules && npm install | yarn upgrade |
npm version major | yarn version --major |
npm version minor | yarn version --minor |
npm version patch | yarn version --patch |
以上命令是我从yarn官网上复制过来的。
更多详情,请移步yarn官方文档:yarn.bootcss.com/docs/instal…