npm常用命令
# npm 常用命令
# 简介
npm 是跟随 node 一起安装的包(模块)管理器。常见的使用场景有以下几种:
- 允许用户从 npm 服务器下载别人编写的第三方包到本地使用。
- 允许用户从 npm 服务器下载并安装别人编写的命令行程序到本地使用。
- 允许用户将自己编写的包或命令行程序上传到 npm 服务器供别人使用。
# 版本号
npm 的版本号分三个部分:主版本号.次版本号.补丁版本号。
- 主版本号: 当 API 发生改变,并与之前的版本不兼容的时候;
- 次版本号: 当增加了功能,但是向后兼容的时候;
- 补丁版本号: 当做了向后兼容的缺陷修复的时候。
~ 、 ^ 和 *
- ~会匹配最近的小版本依赖包,比如~1.2.3 会匹配所有 1.2.x 版本,但是不包括 1.3.0;
- ^会匹配最新的大版本依赖包,比如^1.2.3 会匹配所有 1.x.x 的包,包括 1.3.0,但是不包括 2.0.0;
- *安装最新版本的依赖包。可能会造成版本不兼容,慎用;
- 没有前缀,安装特定的版本,比如 1.2.3。
# 常用命令
# 检测是否安装及版本
npm -v # 显示版本号说明已经安装相应的版本
1
# 生成 package.json 文件
npm init
1
package.json 用来描述项目中用到的模块和其他信息
# 安装模块
npm install # 安装package.json定义好的模块,简写 npm i
# 安装包指定模块
npm i <ModuleName>
# 全局安装
npm i <ModuleName> -g
# 安装包的同时,将信息写入到package.json中的 dependencies 配置中
npm i <ModuleName> --save
# 安装包的同时,将信息写入到package.json中的 devDependencies 配置中
npm i <ModuleName> --save-dev
# 安装多模块
npm i <ModuleName1> <ModuleName2>
# 安装方式参数:
-save # 简写-S,加入到生产依赖中
-save-dev # 简写-D,加入到开发依赖中
-g # 全局安装 将安装包放在 /usr/local 下或者你 node 的安装目录
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# 查看
# 查看所有全局安装的包
npm ls -g
# 查看本地项目中安装的包
npm ls
# 查看包的 package.json文件
npm view <ModuleName>
# 查看包的依赖关系
npm view <ModuleName> dependencies
# 查看包的源文件地址
npm view <ModuleName> repository.url
# 查看包所依赖的node版本
npm view <ModuleName> engines
# 查看帮助
npm help
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# 更新模块
# 更新本地模块
npm update <ModuleName>
# 更新全局模块
npm update -g <ModuleName> # 更新全局软件包。
npm update -g # 更新所有的全局软件包。
npm outdated -g --depth=0 # 找出需要更新的包。
1
2
3
4
5
6
7
2
3
4
5
6
7
# 卸载模块
# 卸载本地模块
npm uninstall <ModuleName>
# 卸载全局模块
npm uninstall -g <ModuleName> # 卸载全局软件包。
1
2
3
4
5
2
3
4
5
# 清空缓存
# 清空npm缓存
npm cache clear
1
2
2
# 使用淘宝镜像
# 使用淘宝镜像
npm install -g cnpm --registry=https://registry.npm.taobao.org
1
2
2
# 其他
# 更改包内容后进行重建
npm rebuild <ModuleName>
# 检查包是否已经过时,此命令会列出所有已经过时的包,可以及时进行包的更新
npm outdated
# 访问npm的json文件,此命令将会打开一个网页
npm help json
# 发布一个包的时候,需要检验某个包名是否存在
npm search <ModuleName>
# 撤销自己发布过的某个版本代码
npm unpublish <package> <version>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
# dependencies 和 devDependencies 的区别
- npm install 依赖 (已经安装上了 , 但在 package.json 中没有,不能通过 npm i 安装)
- npm install 依赖 --save (已安装,依赖包的名称在 package.json 的 dependencies 中, 可通过 npm i 安装)
- npm install 依赖 --save-dev (已安装,依赖包的名称在 package.json 的 devDependencies 中, 可通过 npm i 安装)
devDependencies 里面的插件只用于开发环境,不用于生产环境,而 dependencies 是需要发布到生产环境的。
vue 项目中,若文件中 import 引入 devDependencies 中插件依然会把当前引入的插件打包到文件中,不引入,则不打包;而 dependencies 中的插件不管你引不引入都会打包到文件中去。
# 使用技巧
# 多次安装不成功尝试先清除缓存
npm cache clean -f
1
# 查看已安装的依赖包版本号
npm ls <ModuleName>
1
注意:用此方法才能准确的知道项目使用的版本号,查看 package.json 时,有“^" 符号表示大于此版本
# npm 发布包教程
# nrm 的作用与使用
# nrm 是什么?
nrm(npm registry manager )是 npm 的镜像源管理工具,有时候国外资源太慢,使用这个就可以快速地在 npm 源间切换
# nrm 的安装
npm install -g nrm
1
# nrm 命令
nrm ls #查看可用的源(有*号的表示当前所使用的源,以下<registry>表示源的名称)
nrm use <registry> # 将npm下载源切换成指定的源
nrm add <registry> <url> # 添加源,url为源的路径
nrm del <registry> # 删除源
nrm test <registry> # 测试源的响应时间,可以作为使用哪个源的参考
nrm help # 查看nrm帮助
nrm home <registry> # 跳转到指定源的官网
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
# nrm 使用
如果在你的网络不太理想或者受到其他网络限制导致不能使用 npm 原本的源进行下载时,nrm 就非常有用了,你只需要:
nrm ls # 查看可用的源
nrm use <registry> # 切换到指定源
1
2
2
编辑 (opens new window)
上次更新: 2022/06/16, 10:52:37