npm 和 yarn
一、npm
- npm(Node Package Manager), node的包管理器;
1. npm init 自动生成package.json文件
$ cd 到指定目录
$ npm init
$ 后面提示的信息可选填(可以一直回车直到初始化完成后生成package.json文件)
2. 安装指定模块
- 执行如下命令后会自动生成
package-lock.json文件,该文件保存下载包的详细信息。
$ npm install 模块名
二、yarn
-
yarn 也是一个包管理器,它能够缓存每个下载过的包,同时利用并行下载以最大化资源利用率,因此安装速度比npm更快。
-
tyarn 使用国内淘宝的npm.taobao.org镜像,使用和yarn完成一样,如果yarn安装太慢,可使用tyarn管理依赖。
$ sudo npm install yarn tyarn -g
1. yarn init 自动生成package.json文件
$ cd 到指定目录
$ yarn init
$ 后面提示的信息可选填(可以一直回车直到初始化完成后生成package.json文件)
2. 安装指定模块
- 执行如下命令后会自动生成
yarn.lock文件,该文件保存依赖包的下载地址,版本等信息。
$ yarn add 模块名
三、npm 和 yarn 对比
| npm | yarn | 描述 |
|---|
| npm install | yarn | |
| npm install 模块名 --save | yarn add 模块名 | 安装指定模块,把依赖包名称添加到 package.json 文件 dependencies下 |
| npm install 模块名 --save-dev | yarn add 模块名 --dev | 安装指定模块,把依赖包名称添加到 package.json 文件 devDependencies下 |
| npm install 模块名@版本号 | tyarn add 模块名@版本号 | 下载指定版本的模块 |
| npm uninstall 模块名 --save | yarn remove 模块名 | 移除指定模块 |
| npm update 模块名 --save | yarn upgrade 模块名 | 更新模块 |
| npm update 模块名@版本号 | yarn upgrade 模块名@版本号 | 更新模块到指定版本号 |
| npm -v | yarn -v | 查看版本号 |
| npm info 模块名 | yarn info 模块名 | 查看模块的详细信息 |
| npm view 模块名 versions | tyarn info 模块名 versions | 查看指定模块的所有版本信息 |
| npm view 模块名 version | tyarn info 模块名 version | 查看指定模块的最新版本信息 |
| npm root -g | | 查看全局安装包存放位置 |
| npm install -g npm | npm install yarn@latest -g | npm/yarn更新到最新版 |
四、依赖包版本号
| 版本号 | yarn |
|---|
| ~1.2.3 | 表示≥1.2.3并且<1.3.0 |
| ~1.2 | 表示≥1.2.0并且<1.3.0 |
| ~1 | 表示≥1.0.0并且≤2.0.0 |
| ^1.2.3 | 表示≥1.2.3并且<2.0.0 |
| ^0.1.2 | 表示≥0.1.2并且<0.2 |
| ^0.1 | 表示≥0.1并且<0.2 |
Node:
yarn将依赖项添加到不同依赖项类别中
devDependencies:--dev
peerDependencies:--peer
optionalDependencies:--optional