yarn的介绍与操作,yarn和npm的选择

🧶 一、Yarn 是什么?

Yarn 是由 Facebook(Meta)开发的 JavaScript 包管理工具 ,用于替代 npm,解决它在早期版本中存在的一些问题。

✅ Yarn 的优势(v1.x):

  • 📦 更快:并行安装依赖包;
  • 📂 更稳定:引入 yarn.lock 锁定依赖版本;
  • 🛡️ 更安全:默认校验包的完整性;
  • 💬 更清晰的输出日志。

🧑‍💻 二、Yarn 安装

✅ 使用 npm 安装(建议):

bash 复制代码
npm install -g yarn

安装完成后验证版本:

bash 复制代码
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 生成的文件结构

bash 复制代码
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
相关推荐
web打印社区8 小时前
Windows 网页静默打印设置步骤:客户端、防火墙与联调清单
开发语言·前端·javascript·chrome·pdf·ecmascript
玖石书8 小时前
HiSH 通过 apk 安装 Node.js、npm 与 pnpm
npm·node.js·鸿蒙·hish
恋猫de小郭8 小时前
KMP 又改了编译流程, Separate Compilation 禁止了 `commonMain` 的依赖穿透
android·前端·flutter
吴声子夜歌8 小时前
Nginx应用与运维——Nginx Web服务应用实战(静态文件服务器的搭建)
运维·前端·nginx
池塘水悠悠8 小时前
nodejs24安装(node.js安装)
node.js
y = xⁿ8 小时前
关于Agent工程落地
前端·人工智能·python
web打印社区8 小时前
JS 静默打印怎么做:纯前端为什么不行,以及最小可跑通写法
开发语言·前端·javascript·websocket·网络协议·http·pdf
web打印社区8 小时前
HTML5 静默打印:前端页面怎么调用打印机且尽量不弹窗
前端·javascript·vue.js·pdf·html·html5
Python大数据分析8 小时前
开源免费、AI 驱动的 Web 打印设计器 OpenPrint:从拖拽设计到 ERP 对接全流程实战
前端·人工智能·开源
溪语流沙8 小时前
【每天一个CSS | Day11】赛博朋克故障风文字:红青分离 + 切片抖动
前端·css