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/macOS
nvm
管理 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