模块的安装
模块安装命令的最简形式 npm install name
的完整版其实应该是:npm install name@latest
。这里的 latest
是模块版本的一个 tag,会对应到模块的一个具体版本。
我们来看一个例子:模块 koa 在 npm registry 上的信息如下:
{
"name": "koa",
"dist-tags": {
"latest": "1.1.2",
"next": "2.0.0-alpha.3"
},
"versions": {
"0.0.1": {...},
"1.1.2": {...},
"2.0.0-alpha.3": {...}
}
}
当执行 npm install koa
时,其实是执行 npm install koa@latest
,而这个 latest
等于 dist-tags.latest
(版本 1.1.2),最后版本 1.1.2 被安装,同时依赖会标记为 "koa": "~1.1.2"
。
当执行 npm install koa@next
时, next
等于 dist-tags.next
(版本 2.0.0-alpha.3),最后版本 2.0.0-alpha.3 被安装,同时依赖会标记为 "koa": "~2.0.0-alpha.3"
。
模块的维护者在进行模块发布时,可以指定将当前版本发布为哪个 tag(默认是 latest)。
能对版本打 tag,使得我们在维护多个版本时非常方便。比如,可以像 koa 的做法一样,新开一个 next 的 tag 来提供新版本给社区试用,而不影响现在的稳定版本。等到新版本逐渐稳定后,再将其发布为 latest 即可。
查看模块的版本依赖
ls (list, la, ll)
使用该命令可以列出当前项目依赖的模块以及依赖的版本,比较常见的参数有 depth,可以控制显示的依赖层级,npm ls --depth=0
时只列出最上层的依赖。npm ls packageName
可以显示packageName的依赖。
使用 npm la
可以一并列出模块的简要说明(也就是存在于 description 中的内容)。
查看过时的依赖
npm outdated
运行此命令,它会去检查npm上的注册信息,看你当前项目中有哪些依赖已经过时了,并以列表的形式展示出来。