初学前端?npm 常用指令不熟?想了解 pnpm、yarn、cnpm 有什么不同?
这篇文章将带你从入门到精通,全面掌握 npm 的使用方法,以及选择适合自己项目的包管理工具!
npm 全称 Node Package Manager,是 Node.js 官方提供的包管理器。
简单理解:npm 就是前端开发的“应用市场”,它能帮我们快速安装、管理项目所需的各种工具、库和框架。
npm 的主要功能:
npm 几乎是每一个前端开发者必备技能。
为了更方便学习和查阅,这里对 npm 的常用指令进行了分类整理,附带功能说明和常见示例。
指令 | 作用 | 示例 |
---|---|---|
npm install |
安装 package.json 中全部依赖 | npm install |
npm install 包名 |
安装指定包 | npm install axios |
npm install 包名@版本号 |
安装指定版本 | npm install [email protected] |
npm install 包名 --save |
安装到生产依赖(现在默认) | npm install vue |
npm install 包名 --save-dev |
安装到开发依赖 | npm install typescript --save-dev |
npm install -g 包名 |
全局安装(脚手架工具常用) | npm install -g @vue/cli |
npm uninstall 包名 |
移除依赖 | npm uninstall axios |
npm uninstall -g 包名 |
移除全局依赖 | npm uninstall -g @vue/cli |
npm update 包名 |
更新指定依赖到最新 | npm update react |
npm outdated |
查看可更新依赖列表 | npm outdated |
指令 | 作用 | 示例 |
---|---|---|
npm init |
初始化 package.json | npm init |
npm init -y |
快速初始化 | npm init -y |
npm config list |
查看所有 npm 配置 | npm config list |
npm config set key value |
设置 npm 配置 | npm config set registry https://registry.npmmirror.com |
npm config get key |
获取配置值 | npm config get registry |
npm config delete key |
删除配置项 | npm config delete proxy |
指令 | 作用 | 示例 |
---|---|---|
npm search 包名 |
搜索包(不常用,推荐官网搜索) | npm search react |
npm info 包名 |
查看包详细信息 | npm info react |
npm view 包名 版本号 |
查看指定版本信息 | npm view [email protected] |
指令 | 作用 | 示例 |
---|---|---|
npm ci |
清空 node_modules,按锁文件精确安装(CI/CD首选) | npm ci |
npm dedupe |
优化依赖结构,去重 | npm dedupe |
npm audit |
检查安全漏洞 | npm audit |
npm audit fix |
自动修复安全问题 | npm audit fix |
指令 | 作用 | 示例 |
---|---|---|
npm login |
登录 npm 账号 | npm login |
npm logout |
登出 npm 账号 | npm logout |
npm publish |
发布一个包 | npm publish |
npm unpublish 包名 --force |
强制删除已发布包(危险操作) | npm unpublish my-package --force |
npm version patch/minor/major |
自动升级版本号(补丁/小版本/大版本) | npm version patch |
指令 | 作用 | 示例 |
---|---|---|
npm cache clean --force |
强制清理缓存 | npm cache clean --force |
npm whoami |
查看当前登录账号 | npm whoami |
npm root |
查看 node_modules 根目录 | npm root |
npm link |
本地开发调试软链接包 | npm link |
npm pack |
打包项目为 .tgz 文件(测试发布用) | npm pack |
工具 | 特点 | 优缺点 |
---|---|---|
npm | 官方出品,稳定可靠 | 体积较大,早期速度慢(新版已大幅改进) |
pnpm | 通过硬链接共享依赖,极大减少磁盘空间,占用极小 | 部分老项目可能需要适配(现代框架已兼容) |
yarn | 更快的安装体验、更好的 lock 文件控制 | 需要单独安装 yarn |
cnpm | 淘宝镜像,解决国内安装慢的问题 | 与原生 npm 有一定差异,长期用不推荐 |
场景 | 推荐工具 |
---|---|
初学者、小型项目 | 直接用 npm |
大型项目、追求速度 | 推荐 pnpm |
国内网络环境较差 | 配置 npm 镜像或使用 cnpm |
修改 npm registry 镜像源(推荐使用 npmmirror.com)
npm config set registry https://registry.npmmirror.com
问题 | 解决方法 |
---|---|
安装慢 | 配置国内镜像 / 使用 pnpm |
安装依赖错误 | 清理缓存 npm cache clean --force |
lock 文件冲突 | 删除 package-lock.json 和 node_modules ,重新 install |
安装版本不一致 | 锁定依赖版本,统一开发团队的 npm 版本 |
未来前端工具链变化仍会很快,但打好基础、理解本质,才是立于不败之地的关键。
希望这篇文章能成为你学习 npm 和包管理工具路上的第一份参考手册!
如果这篇文章对你有帮助,不妨点赞收藏,一起进步~
也欢迎留言交流:你最喜欢用哪个包管理工具呢?npm、pnpm、yarn,还是其他?