npm是跟随Node.js一起安装的包(模块)管理器。常见的使用场景有以下几种:
- 允许用户从npm服务器下载别人编写的第三方包到本地使用。
- 允许用户从npm服务器下载并安装别人编写的命令行程序到本地使用。
- 允许用户将自己编写的包或命令行程序上传到npm服务器供别人使用。
1 查看所有命令
# 查看所有命令
npm help
2 检查是否安装与版本
npm -v # 显示版本号则说明已安装相应的版本
3 生成package.json文件
package.json用于描述项目中用到的模块和其他信息
npm init
4 安装模块
# 安装package.json定义的模块
npm install
npm i # 简写
# 安装指定模块
npm i <ModuleName>
# 全局安装(安装在node安装目录下,例如/usr/local)
npm i <ModuleName> -g
# 安装包的同时,将信息写入package.json中的dependencies(生产依赖)配置中
npm i <ModuleName> --save # 简写为-S
# 安装包的同时,将信息写入package.json中的 devDependencies(开发依赖)配置中
npm i <ModuleName> --save-dev # 简写为-D
# 安装多个模块
npm i <ModuleName1> <ModuleName2>
通常使用淘宝镜像以加速下载,配置如下:
# 使用淘宝镜像
npm install -g cnpm --registry=https://registry.npm.taobao.org
5 查看
# 查看所有全局安装的包
npm ls -g
# 查看本地项目中安装的包
npm ls
# 查看已安装的依赖包版本号(用此方法才能准确的知道项目使用的版本号。查看package.json时,“^”符号表示大于此版本)
npm ls <ModuleName>
# 查看包的package.json文件
npm view <ModuleName>
# 查看包的依赖关系
npm view <ModuleName> dependencies
# 查看包的源文件地址
npm view <ModuleName> repository.url
# 查看包所依赖的node版本
npm view <ModuleName> engines
# 查看帮助
npm help
6 更新模块
# 列出所有已经过时的包,检查包是否已经过时
npm outdated
# 更新本地模块
npm update <ModuleName>
# 更新全局模块
npm update -g <ModuleName> # 更新全局软件包
npm update -g # 更新所有的全局软件包
npm outdated -g --depth=0 # 找出需要更新的包
7 卸载模块
# 卸载本地模块
npm uninstall <ModuleName>
# 卸载全局模块
npm uninstall -g <ModuleName>
8 清空缓存
# 清空npm缓存
npm cache clear
# 强制清除缓存,多次安装不成功时建议使用
npm cache clean -f
9 发布包相关操作
# 更改包内容后进行重建
npm rebuild <ModuleName>
# 发布包时,需要检验某个包名是否存在
npm search <ModuleName>
# 撤销发布过的某个版本
npm unpublish <package> <version>
10 nrm
nrm(NPM Registry Manager)是npm的镜像源管理工具,可以快速在npm源间切换。
安装nrm:
npm install -g nrm
常用指令:
# 查看可用的源(带*号的为当前所使用的源,以下用<registry>表示源的名称)
nrm ls
# 将npm下载源切换成指定的源
nrm use <registry>
# 添加源,其中url为源的路径
nrm add <registry> <url>
# 删除源
nrm del <registry>
# 测试源的响应时间,可以作为使用哪个源的参考
nrm test <registry>
# 查看nrm帮助
nrm help
# 跳转到指定源的官网
nrm home <registry>
通常先使用nrm ls
查看可用的源,再使用nrm use <registry>
切换到指定源。