avatar

目录
npm install参数详解

npm 本地安装

npm install 命令

  1. 安装模块到项目node_modules目录下。
  2. 不会将模块依赖写入devDependencies或dependencies 节点。
  3. 运行 npm install 初始化项目时不会下载模块。

npm install -g 命令

  1. 安装模块到全局,不会在项目node_modules目录中保存模块包。
  2. 不会将模块依赖写入devDependencies或dependencies 节点。
  3. 运行 npm install 初始化项目时不会下载模块。

npm install -save 命令(简写为: -S)

  1. 安装模块到项目node_modules目录下。
  2. 会将模块依赖写入dependencies 节点。
  3. 运行 npm install 初始化项目时,会将模块下载到项目目录下。
  4. 运行npm install –production或者注明NODE_ENV变量值为production时,会自动下载模块到node_modules目录中。

npm install --save-dev 命令 (简称为:-D)

  1. 安装模块到项目node_modules目录下。
  2. 会将模块依赖写入devDependencies 节点。
  3. 运行 npm install 初始化项目时,会将模块下载到项目目录下。
  4. 运行npm install –production或者注明NODE_ENV变量值为production时,不会自动下载模块到node_modules目录中。

npm install --save-optional 命令(简写为: -O)

  1. 安装模块到项目node_modules目录下。
  2. 会将模块安装到optionalDependencies(可选环境依赖)中。
  3. package.json 文件的optionalDependencies属性:
Code
1
2
3
4
5

"optionalDependencies":
{
"gulp": "^3.9.1"
}

npm install --save-exact 命令(简写为: -E)

  1. 安装模块到项目node_modules目录下。
  2. 会将模块依赖写入dependencies 节点。
  3. package.json文件里”dependencies”属性:
Code
1
2
3
4
5

"dependencies":
{
"gulp-concat": "2.6.1" //注意此处:版本号没有 ^
}

npm install @ 命令

  1. 安装指定模块的版本

devDependencies节点:

该模块是我们在开发时需要用的,比如项目中使用的 gulp ,压缩css、js的模块。这些模块在我们的项目部署后是不需要的,所以我们可以使用 -save-dev 的形式安装。

dependencies节点:

该模块是项目运行必备的,应该使用 -save 的形式安装。

npm init

  1. 引导创建一个package.json文件,包括名称、版本、作者这些信息

npm 卸载

  1. npm uninstall 命令
  2. npm prune 命令, 清除未被使用到的模块

npm 更新

  1. npm update 命令
  2. npm update @ 命令 update 该模块到指定版本
  3. npm outdated npm 检查是否过时

npm 查看

  1. npm ls 或 npm ll 或 npm la npm 查看安装的模块; 区别:展示方式不一样
  2. npm view repository.url 查看包的源文件地址
  3. npm view engines 查看当前模块依赖的node最低版本号
  4. npm view version 查看模块的当前版本号
  5. npm search 查看某个包是否已经存在
  6. npm help 命令 查看命令的详细帮助
  7. npm repo 打开搞模块的仓库界面
  8. npm docs 打开某个模块的文档
  9. 其他命令: npm root | npm config | npm cache clean | npm -v

npm 版本控制

首先看npm包的版本号的格式X.Y.Z,版本好的格式遵循semver 2.0规范,其中X为主版本号,只有更新了不向下兼容的API时进行修改主版本号,Y为次版本号,当模块增加了向下兼容的功能时进行修改,Z为修订版本号,当模块进行了向下兼容的bug修改后进行修改,这就是“语义化的版本控制”。

默认情况下,当用–save或者–save-dev安装一个模块时,npm通过脱字符(^)来限定所安装模块的主版本号,而该脱字符对于不同的版本号有不同的更新机制
^1.2.1 代表的更新版本范围为 >=1.2.1 && < 2.0.0
^0.2.1 代表的更新版本范围为 >=0.2.1 && < 0.3.0
^0.0.2 代表的更新版本范围为 0.0.2(相当于锁定为了0.0.2版本)

波浪号(~)是限定模块的次要版本
~1.5.1允许安装版本号大于1.5.1但小于1.6.0版本的模块
~0.5.1允许安装版本号为0.6.0

当主版本号/次版本号/修订版本号为X or x or 时,那么update或install是会下载该分支最新的版本号
(
)跟新或安装模块时会安装>=0.0.0的最新版本
1.x 表示的更新范围为>=1.0.0&&< 2.0.0
1.2.x 表示的更新范围为>=1.2.0&&< 1.3.0

文章作者: HJY
文章链接: https://hjy-dev.github.io/2020/02/24/npm-install%E5%8F%82%E6%95%B0%E8%AF%A6%E8%A7%A3/
版权声明: 本博客所有文章除特别声明外,均采用 Apache License 2.0 许可协议。转载请注明来自 Kiven Blog
打赏
  • 微信
    微信
  • 支付寶
    支付寶

评论