NPM全名是Node Package Manager,是Node.js的套件(package)管理工具,已成为世界上最大的包管理器,登记了超过35万软件包,是第二名Apache Maven的两倍以上。

安装

使用Homebrew安装node便于管理,Homebrew的使用请参考我的另一篇文章
使用下面的命令安装node:

1
$ brew install node

测试是否安装成功:

1
2
$ node -v  //检测node版本
$ npm -v //检测npm版本

配置

查看用户配置文件:npm config get userconfig
查看全局配置文件:npm config get globalconfig
内置配置文件:安装npm目录下的npmrc文件

npm配置的命令行操作:

1
2
3
4
5
6
7
$ npm config set <key> <value> [--global]       //设置指定配置
$ npm config get <key> //获取指定配置信息
$ npm config delete <key> //删除指定配置
$ npm config list //显示所有配置信息
$ npm config edit //编辑npm配置
$ npm get <key> //获取指定配置信息
$ npm set <key> <value> [--global] //设置指定配置

设置配置属性时默认是存储于用户配置文件中,加上--global,则被存储在全局配置文件中。
如果要查看npm的所有配置属性(包括默认配置),可以使用npm config ls -l
如果要查看npm的各种配置的含义,可以使用npm help config

由于某种神奇的原因,通过NPM官方源下载起来各种慢,要想更好的体验npm,还需要配置国内npm镜像,推荐使用淘宝的npm镜像https://registry.npm.taobao.org

1
2
3
4
5
# 永久设置镜像
$ npm config set registry https://registry.npm.taobao.org

# 临时设置镜像
$ npm --registry https://registry.npm.taobao.org install express

命令行操作

查看帮助:

1
$ npm help <command>

升级npm:

1
2
$ sudo npm install npm -g
$ sudo cnpm install npm -g //使用淘宝镜像

安装node.js模块:

1
$ npm install <Module Name>

查看安装:

1
$ npm ls

查看全局安装:

1
$ npm ls -g --depth=0

卸载全局安装:

1
$ npm uninstall -g <Module Name>

卸载安装:

1
$ npm uninstall <Module Name>

更新模块:

1
$ npm update <Module Name>

清空本地缓存:

1
2
3
$ npm cache clean
# 强制清理
$ npm cache clear --force

安装包版本号:

1
2
3
4
5
{
"a": "1.1.1",
"b": "~1.1.1",
"c": "^2.6.9",
}

NPM使用语义版本号来管理代码,语义版本号分为 X.Y.Z 三位:

  • 只是修复 bug,更新 Z 位置
  • 新增功能且向下兼容,更新 Y 位置
  • 大变动且不向下兼容,更新 X 位置
  • 版本号前缀为 ~ 表示同一主版本号和次版本号中,不小于指定版本号的版本号。~1.1.1 对应主版本号为 1,次版本号为 1
  • 版本号前缀为 ^ 表示同一主版本号中,不小于指定版本号的版本号

开发阶段,^ 和 ~ 表示同一个意思:主版本号和次版本号都相同

先行版本号也有一些例外,只有以下几种方式可以匹配到先行版本号:

  • 精确的指定版本号,如:1.0.0-alpha.1
  • 使用 > 指定范围,如:>1.0.0-alpha、>=1.0.0-rc.0 <1.0.1
  • 使用 x、X、 指定所有版本号,如: