npm 操作手册
npm 操作手册
npm(Node Package Manager) 是 Node.js 的包管理工具,用于安装、管理、发布 JavaScript 依赖包。本手册涵盖 基础命令、依赖管理、脚本执行、发布包 等核心操作。
1. npm 安装与初始化
安装 npm
npm 随 Node.js 一起安装,无需单独安装。
node -v # 检查 Node.js 是否安装
npm -v # 检查 npm 版本
如果未安装,请先安装 Node.js(推荐 LTS 版本)。
初始化项目
npm init # 交互式创建 package.json
npm init -y # 快速生成默认 package.json
生成 package.json 文件,记录项目依赖和配置。
2. 依赖管理
安装依赖
| 命令 | 说明 |
|---|---|
npm install <package> |
安装包(默认添加到 dependencies) |
npm install <package> --save-dev 或 npm install <package> -D |
安装开发依赖(devDependencies) |
npm install <package> --global 或 npm install <package> -g |
全局安装(如 CLI 工具) |
npm install |
安装 package.json 中的所有依赖 |
npm install <package>@<version> |
安装指定版本(如 npm install lodash@4.17.21) |
示例:
npm install express # 安装生产依赖
npm install eslint -D # 安装开发依赖
npm install nodemon -g # 全局安装 nodemon
卸载依赖
npm uninstall <package> # 卸载包
npm uninstall <package> -D # 卸载开发依赖
npm uninstall <package> -g # 卸载全局包
更新依赖
npm update <package> # 更新指定包
npm update # 更新所有依赖
npm outdated # 查看可更新的包
3. 运行脚本
在 package.json 的 scripts 字段定义脚本:
{
"scripts": {
"start": "node app.js",
"dev": "nodemon app.js",
"test": "jest"
}
}
运行脚本:
npm run <script> # 如 npm run dev
npm start # 直接运行 "start" 脚本(可省略 run)
npm test # 直接运行 "test" 脚本
4. 依赖版本管理
版本锁定
npm install默认生成package-lock.json,锁定依赖版本。- 使用
npm ci(适用于 CI/CD,严格按package-lock.json安装):npm ci
语义化版本(SemVer)
| 写法 | 说明 | 示例 |
|---|---|---|
^1.2.3 |
允许 次版本号 和 修订号 更新 | 1.x.x |
~1.2.3 |
仅允许 修订号 更新 | 1.2.x |
1.2.3 |
固定版本 | 1.2.3 |
5. 发布 npm 包
1. 注册 npm 账号
npm adduser # 登录/注册
npm login # 登录已有账号
npm whoami # 查看当前登录用户
2. 发布包
npm publish # 发布到 npm 仓库
npm publish --access public # 发布公开包(私有包需付费)
3. 更新版本
npm version patch # 更新修订号(1.0.0 → 1.0.1)
npm version minor # 更新次版本号(1.0.0 → 1.1.0)
npm version major # 更新主版本号(1.0.0 → 2.0.0)
npm publish # 发布新版本
6. 镜像源管理(加速下载)
查看当前源
npm config get registry
切换淘宝镜像(国内推荐)
npm config set registry https://registry.npmmirror.com
恢复官方源
npm config set registry https://registry.npmjs.org
7. 常用辅助命令
| 命令 | 说明 |
|---|---|
npm list |
查看当前项目安装的依赖 |
npm list -g --depth=0 |
查看全局安装的包 |
npm info <package> |
查看包信息(版本、依赖等) |
npm search <keyword> |
搜索 npm 包 |
npm cache clean --force |
清除缓存 |
8. 常见问题
1. 权限问题(EACCES)
- 解决方案:
或使用sudo chown -R $USER /usr/local/lib/node_modules # Linux/macOSnvm管理 Node.js,避免sudo。
2. 依赖冲突
- 删除
node_modules和package-lock.json,重新安装:rm -rf node_modules package-lock.json npm install
3. 安装慢
- 使用淘宝镜像:
npm config set registry https://registry.npmmirror.com
总结
- 核心功能:安装、卸载、更新依赖,运行脚本,发布包。
- 最佳实践:
- 使用
package-lock.json锁定版本。 - 区分
dependencies和devDependencies。 - 国内用户建议切换淘宝镜像加速。
- 使用
掌握这些命令,可以高效管理 Node.js 项目依赖! 🚀
No Comments