Skip to main content

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-devnpm install <package> -D 安装开发依赖(devDependencies
npm install <package> --globalnpm 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.jsonscripts 字段定义脚本:

{
  "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_modulespackage-lock.json,重新安装:
    rm -rf node_modules package-lock.json
    npm install
    

3. 安装慢

  • 使用淘宝镜像:
    npm config set registry https://registry.npmmirror.com
    

总结

  • 核心功能:安装、卸载、更新依赖,运行脚本,发布包。
  • 最佳实践
    • 使用 package-lock.json 锁定版本。
    • 区分 dependenciesdevDependencies
    • 国内用户建议切换淘宝镜像加速。

掌握这些命令,可以高效管理 Node.js 项目依赖! 🚀