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 构建 全部复制 更优化但可读性低
推荐场景 所有人 追求速度/现代化团队

🟨 注意事项:不要混用 npmyarn

避免在同一个项目中混用两个包管理器,否则会出现依赖混乱:

  • 只保留 package-lock.json(使用 npm)
  • 或只保留 yarn.lock(使用 yarn)

建议团队协商统一使用一种。


🎯 总结推荐

  • 初学者 / 官方推荐 / 保守选手 👉 使用 npm
  • 追求构建速度 / 命令简洁 / CI 优化 👉 使用 yarn
相关推荐
@小红花21 分钟前
从0到1学习Vue框架Day03
前端·javascript·vue.js·学习·ecmascript
前端与小赵24 分钟前
vue3中 ref() 和 reactive() 的区别
前端·javascript·vue.js
魔云连洲39 分钟前
Vue的响应式底层原理:Proxy vs defineProperty
前端·javascript·vue.js
专注VB编程开发20年42 分钟前
CSS定义网格的列模板grid-template-columns什么意思,为什么要用这么复杂的单词
前端·css
IT_陈寒1 小时前
Redis性能提升50%的7个关键优化策略,90%开发者都不知道第5点!
前端·人工智能·后端
Hilaku1 小时前
深入URL和URLSearchParams:别再用正则表达式去折磨URL了
前端·javascript·代码规范
pubuzhixing1 小时前
Canvas 的性能卓越,用它解决一个棘手问题
前端
weixin_456904271 小时前
Vue.jsmain.js/request.js/user.js/store/index.js Vuex状态管理项目核心模块深度解析
前端·javascript·vue.js
伍哥的传说1 小时前
Vue 3.6 Alien Signals:让响应式性能飞跃式提升
前端·javascript·vue.js·vue性能优化·alien-signals·细粒度更新·vue 3.6新特性
永日456701 小时前
学习日记-HTML-day51-9.9
前端·学习·html