yarn的介绍与操作,yarn和npm的选择
🧶 一、Yarn 是什么?
Yarn 是由 Facebook(Meta)开发的 JavaScript 包管理工具,用于替代 npm
,解决它在早期版本中存在的一些问题。
✅ Yarn 的优势(v1.x):
- 📦 更快:并行安装依赖包;
- 📂 更稳定:引入
yarn.lock
锁定依赖版本; - 🛡️ 更安全:默认校验包的完整性;
- 💬 更清晰的输出日志。
🧑💻 二、Yarn 安装
✅ 使用 npm 安装(建议):
npm install -g yarn
安装完成后验证版本:
yarn -v
📌 三、Yarn 的常用命令对比 npm
操作 | npm 命令 | yarn 命令 |
---|---|---|
初始化项目 | npm init / npm init -y | yarn init / yarn init -y |
安装所有依赖 | npm install | yarn install |
安装依赖 | npm install axios | yarn add axios |
安装开发依赖 | npm install eslint --save-dev | yarn add eslint --dev |
卸载依赖 | npm uninstall axios | yarn remove axios |
更新依赖 | npm update | yarn upgrade |
添加指定版本 | npm install axios@1.4.0 | yarn add axios@1.4.0 |
执行脚本 | npm run build | yarn build |
清缓存 | npm cache clean --force | yarn cache clean |
📁 四、Yarn 生成的文件结构
my-app/
├── node_modules/
├── package.json
├── yarn.lock ← 用于锁定依赖版本(等价于 npm 的 package-lock.json)
💡 五、Yarn vs npm:如何选择?
对比点 | npm | yarn |
---|---|---|
默认安装 | ✅ Node.js 自带 | ❌ 需手动安装 |
安装速度 | ⏳ 稍慢(单线程) | ⚡ 更快(并行) |
锁版本文件 | package-lock.json | yarn.lock |
命令简洁性 | 需要 npm run xxx | 可以直接 yarn xxx |
社区支持 | 最广泛 | 稍弱(但稳定) |
易用性 | 更熟悉 | 语法更清爽 |
node_modules 构建 | 全部复制 | 更优化但可读性低 |
推荐场景 | 所有人 | 追求速度/现代化团队 |
🟨 注意事项:不要混用 npm
和 yarn
避免在同一个项目中混用两个包管理器,否则会出现依赖混乱:
- 只保留
package-lock.json
(使用 npm) - 或只保留
yarn.lock
(使用 yarn)
建议团队协商统一使用一种。
🎯 总结推荐
- 初学者 / 官方推荐 / 保守选手 👉 使用
npm
- 追求构建速度 / 命令简洁 / CI 优化 👉 使用
yarn