npm 命令使用文档

目录

  1. 简介
  2. 安装与配置
  3. 基础命令
  4. 依赖管理
  5. 版本控制
  6. 脚本管理
  7. 包发布
  8. 高级命令
  9. 配置管理
  10. 最佳实践
  11. 常见问题

1. 简介

npm (Node Package Manager) 是 Node.js 的官方包管理工具,提供:

  • 130万+ 开源包的注册表访问
  • 依赖解析与版本管理
  • 项目脚本自动化
  • 私有包管理能力
  • 完整的包生命周期管理

2. 安装与配置

2.1 安装Node.js

bash 复制代码
# 通过官方安装包
https://nodejs.org

# 验证安装
node -v
npm -v

2.2 配置初始化

bash 复制代码
npm init            # 交互式创建package.json
npm init -y         # 快速生成默认配置

2.3 镜像源配置

bash 复制代码
npm config set registry https://registry.npmmirror.com  # 阿里云镜像
npm config get registry            # 查看当前源
npm config delete registry         # 恢复默认源

3. 基础命令

3.1 包安装

bash 复制代码
npm install                         # 安装所有依赖
npm install lodash                  # 安装生产依赖
npm install eslint -D               # 安装开发依赖
npm install react@18.2.0            # 安装指定版本
npm install ../my-package           # 安装本地包

3.2 包管理

bash 复制代码
npm uninstall axios                 # 卸载包
npm update                          # 更新所有依赖
npm outdated                        # 检查过时依赖
npm ls                              # 查看依赖树
npm cache clean --force             # 清理缓存

4. 依赖管理

4.1 依赖类型

json 复制代码
{
  "dependencies": {         // 生产环境依赖
    "lodash": "^4.17.21"
  },
  "devDependencies": {      // 开发环境依赖
    "webpack": "^5.75.0"
  },
  "peerDependencies": {     // 宿主环境依赖
    "react": ">=16.8.0"
  },
  "optionalDependencies": { // 可选依赖
    "fsevents": "^2.3.2"
  }
}

4.2 全局安装

bash 复制代码
npm install -g typescript       # 全局安装
npm list -g --depth=0           # 查看全局安装包

5. 版本控制

5.1 语义化版本 (SemVer)

复制代码
^1.2.3  # 兼容次要版本和补丁 (1.x.x)
~1.2.3  # 仅兼容补丁版本 (1.2.x)
1.2.x   # 指定次要版本
*       # 最新版本

5.2 版本锁定

bash 复制代码
npm shrinkwrap          # 生成npm-shrinkwrap.json
npm ci                  # 严格按lockfile安装

6. 脚本管理

6.1 基础脚本

json 复制代码
{
  "scripts": {
    "start": "node index.js",
    "test": "jest",
    "build": "webpack --mode production",
    "prepublish": "npm run build"
  }
}

6.2 高级用法

bash 复制代码
npm run test -- --coverage      # 传递参数
npm run lint & npm run build    # 并行执行
npm run prestart                # 生命周期钩子

7. 包发布

7.1 发布流程

bash 复制代码
npm login                       # 登录账号
npm publish                     # 发布公开包
npm publish --access public     # 明确发布公开包
npm version patch               # 版本号升级
npm deprecate <pkg>@<version> "message"  # 标记弃用

7.2 私有包

bash 复制代码
npm init --scope=yourorg        # 创建组织包
npm publish --access restricted # 发布私有包

8. 高级命令

8.1 审计与安全

bash 复制代码
npm audit                       # 安全审计
npm audit fix                   # 自动修复漏洞
npm fund                        # 查看依赖资金信息

8.2 调试工具

bash 复制代码
npm view react                  # 查看包信息
npm docs lodash                 # 打开文档网站
npm repo webpack                # 打开源码仓库
npm explore react -- npm ls     # 进入包目录

9. 配置管理

9.1 配置文件

复制代码
.npmrc 优先级:
项目级 > 用户级 > 全局 > npm内置

9.2 常用配置项

bash 复制代码
npm config set save-exact true      # 精确版本
npm config set script-shell bash    # 指定脚本shell
npm config set engine-strict true   # 严格引擎检查

10. 最佳实践

  1. 使用 npm ci 代替 npm install 在CI环境
  2. 定期执行 npm outdatednpm update
  3. 提交 package-lock.json 到版本控制
  4. 使用 npm audit 进行安全审计
  5. 为CLI工具添加 bin 字段
  6. 使用 .npmignore 控制发布内容
  7. 合理使用 peerDependencies 避免重复依赖
  8. 对私有包使用作用域 (@org/package)

11. 常见问题

Q1: 安装权限错误

bash 复制代码
# 解决方案:
sudo chown -R $(whoami) ~/.npm
# 或使用Node版本管理工具(nvm)

Q2: 依赖冲突解决

bash 复制代码
npm ls <package-name>        # 查看依赖路径
npm dedupe                   # 尝试优化依赖树

Q3: 加速安装

bash 复制代码
npm install --prefer-offline # 优先使用缓存
npm config set prefer-offline true  # 永久设置

转载吱一声~

相关推荐
ybwycx23 分钟前
Node.js卸载超详细步骤(附图文讲解)
node.js
爱学习的程序媛25 分钟前
【Web前端】深入解析JavaScript异步编程
开发语言·前端·javascript·ecmascript·web
梧桐16826 分钟前
马克沁机枪上阵(二):前线开辟—Claude Code 如何用一天打通前端
前端
是上好佳佳佳呀29 分钟前
【前端(一)】HTML 知识梳理:从结构到常用标签
前端·html
楚轩努力变强33 分钟前
2026 年前端进阶:端侧大模型 + WebGPU,从零打造高性能 AI 原生前端应用
前端·typescript·大模型·react·webgpu·ai原生·高性能前端
放下华子我只抽RuiKe536 分钟前
深度学习 - 01 - NLP自然语言处理基础
前端·人工智能·深度学习·神经网络·自然语言处理·矩阵·easyui
ooseabiscuit1 小时前
node.js卸载并重新安装(超详细图文步骤)
node.js
酉鬼女又兒1 小时前
零基础入门前端 第十三届蓝桥杯省赛 :水果拼盘 Flex一篇过(可用于备赛蓝桥杯Web应用开发)
前端·css·职场和发展·蓝桥杯·css3
weixin199701080161 小时前
《苏宁商品详情页前端性能优化实战》
前端·性能优化