Npm 常用命令
初始化项目
npm init
执行完毕后,会提示填写内容,也可以直接回车填充默认内容跳过。
配置镜像源
npm config set xxxx
# 淘宝镜像
npm config set registry https://registry.npm.taobao.org
# 查看配置
npm config get registry
配置代理
# 普通代理
npm config set proxy=http://server:port
# 配置 https 代理
npm config set https-proxy https://server:port
# 代理用户名和密码
npm config set proxy http://username:password@server:port
npm confit set https-proxy http://username:password@server:port
## 取消代理
npm config delete proxy
npm config delete https-proxy
安装
安装依赖
npm install <package_name>
npm i <package_name>
安装开发环境依赖
npm install --save-dev <package_name>
npm i -D <package_name>
安装生产环境依赖(默认)
npm install --save-prod <package_name>
npm i -P <package_name>
全局安装软件包
npm install --global <package_name>
npm i -g <package_name>
同时安装多个包
npm i vue vuex axios
安装具有相同前缀的多个包
npm i eslint-{plugin-import,plugin-react,loader} express
清除安装包依赖
npm ci
npm ci
可以清除安装包依赖项,它通常用于自动化环境,如 CI/CD 平台。
它与 npm install
有以下不同之处:
- 它安装的是
package-lock.json
中提到的包的确切版本; - 删除现有的
node_modules
并运行新的安装; - 它不会写信给你的
package.json
或*-lock
文件; - 它不会安装与
npm install
类似的单个软件包。
快速导航到包主页、存储库和 issues
导航到包主页
npm home <package_name>
npm home vue
npm home axios
导航到 issues
npm bug <package_name>
导航到存储库
npm repo <package_name>
定位全局节点模块目录
# 本地 node_modules
npm root
# 全局 node_modules
npm root -g
删除重复包
npm dedupe
命令用户删除重复的依赖项。它通过删除重复的包并在多个依赖包直接有效共享公共依赖项来简化整体结构。他会产生一个扁平的和去重的树。
npm dedupe
# or
npm ddp
扫描应用程序是否存在漏洞
npm audit
检查项目依赖项是否存在漏洞。它可以看出有风险的 package、依赖库的依赖链、风险原因及其解决方案。
npm audit
如果发现存在漏洞,我们可以使用 npm audit fix
,它将自动安装所有易受攻击依赖包的修补版本(如果可用)。
npm audit fix
# or
npm audit fix --force
更好的做法是使用 synk
,它是一个高级版的 npm audit
,可自动修复,且支持 CI/CD 集成与多种语言。
npx snyk
清理 npm 缓存
磁盘满了,试着清楚 npm 缓存:
npm cache clean --force
yarn cache clean
pnpm store prune
检查环境
npm doctor
命令可以在我们的环境中运行多项检查。
npm doctor
在本地测试你的包
npm link <package_name>
检查过时的包
使用 npm outdated
命令来检查所有过时的 npm 包。它还显示了应该为任何过时的软件包安装的最新版本。
npm outdated --long
# or
npm outdated -l
检查任何 npm 包的最新版本
我们可以通过运行以下命令来检查任何 npm 包的最新版本
npm view <package-name>
# or
npm v <package-name>
仅显示最新版本
npm v <package-name> version
显示所有版本的列表
npm v <package-name> versions
列出所有已安装的包
npm list
命令可以列出项目中安装的所有 npm 包。它将创建一个树结构,显示已安装的包及其依赖项。
npm list
#or
npm ls
可以利用 --depth flag
来限制搜索深度
npm ls --depth=1
# 查看全局安装的软件包
npm list -g --depth 0
发布一个包
在发布公共 package 之前,需要在 npm 官网进行注册一个账号。 随后,在本地项目执行命令 npm login
登录。
npm login
# 账号
# 密码
# 邮箱
# 一次性密码验证
然后,在使用 npm publish
发布项目:
npm publish
如果我们更新了该包,需要再次发包,可以使用 npm version
命令,控制该版本进行升级,注意需要遵循 Semver 规范 。
npm version [<newversion> | major | minor | patch | premajor | preminor | prepatch | prerelease | from-git]
# 增加一个修复版本号
npm version patch
# 增加一个小的版本号
npm version minor
# 将更新后的包发布到 npm 中
npm publish
更新软件包
npm update
命令用于更新软件包:
npm update <name>
npm update <name> -g
npm update <name> -D
为了便于查看依赖信息,我们可以安装 npm-check
包,它用于检查过时、不正确和未使用的依赖项。
npm i -g npm-check
运行以下命令:
npm-check -u
它将显示用于选择要更新的模块的交互式 UI。替代的还有 npm-check-updates
。