yarn的使用、yarn与npm的区别
简介
Yarn与npm一样,都是包管理工具。
但是Yarn比npm更高效,具有包缓存机制,下载过的包,无需再次下载,直接引用。
安装
因为Node.js默认使用npm作为包管理工具。
有这样一个全局包corepack
,这个包为我们提供了yarn
、pnpm
这两个包管理工具,这个可以认为是yarn的版本管理工具。有了corepack
,我们就可以直接使用yarn
了。
-
如果你的Node.js的版本是>=16.10,那么corepack已经默认安装为了全局包,我们只需要运行以下命令来启用
yarn
// 先启用corepack corepack enable // 启用yarn corepack enable yarn (建议在管理员身份下运行)
-
如果你的Node.js版本< 16.10,那么corepack这个包还没有安装,需要安装一下
// 安装corepack npm i corepack -g // 启用yarn corepack enable yarn
更新yarn版本
# 更新到指定版本 yarn set version <version> # 更新到最新版 yarn set version latest # 更新到最新稳定版 yarn set version stable
配置
yarn毕竟也是海外的,网络原因,下载依赖时,可能会受影响,所以要修改下载镜像
这里利用一个工具来快速修改镜像地址,这个工具是yrm(还记得nrm吗?)
安装yrm
npm i yrm -g
查看当前所有可用的镜像源
yrm ls npm ---- https://registry.npmjs.org/ cnpm --- http://r.cnpmjs.org/ * taobao - https://registry.npm.taobao.org/ nj ----- https://registry.nodejitsu.com/ rednpm - http://registry.mirror.cqupt.edu.cn/ npmMirror https://skimdb.npmjs.com/registry/ edunpm - http://registry.enpmjs.org/ yarn --- https://registry.yarnpkg.com
测试某一个镜像的速度
yrm test taobeo
选择使用一个镜像
yrm use taobao
参考文章
用法
初始化一个新项目
yarn init
安装所有的依赖
yarn yarn install
添加、安装依赖项
yarn add [package] yarn add [package]@[version] # 添加到开发依赖 yarn add [package] --dev yarn add [package] --D # 添加到生产依赖 yarn add [package] --peer yarn add [package] --P
更新依赖项
yarn up [package] yarn up [package]@[version]
删除依赖项
yarn remove [package]
运行自定义脚本
yarn run [脚本]
运行包中的命令(与npx相同),此命令会在安装并运行包中的命令
yarn dlx <command>...
注意:
yarn的全局版本是1.x,但是现在都已经出到了3.x
要注意:全局的yarn 与项目中的yarn是不同的,会优先使用项目中的yarn
使用yarn init
来创建项目时,只会生成一个package.json
文件,而且package.json
中并未指定yarn版本,所以使用的是全局的1.x版本的yarn,在使用时总能遇到各种各样的麻烦。
那么在项目中如何使用yarn3.x呢?
- 在创建项目时直接指定yarn版本
yarn init -2
这样,生成的项目中会有一个.yarn
文件夹,这个文件夹就是目前最新版的yarn,在项目中使用yarn时,实际就是运行的.yarn
文件夹中的yarn,同时在package.json
文件中也给出了项目使用的包管理是yarn以及版本
同时还会有.yarnrc.yml
、yarn.lock
文件
- 如果你的项目已经创建好了,那么使用以下命令来更新项目中的yarn版本
以下三条命令都是等价的,执行一个就可以
yarn set version stable yarn set version latest yarn set version berry
yarn2.x的版本号也叫做berry版本
执行以上命令后,就会在项目中生成.yarn
文件夹,以及.yarnrc.yml
、yarn.lock
文件
同时会在package.json
中指定yarn的版本
然后执行以下命令来将yarn版本同步到yarn.lock
中
yarn # 或 yarn install
npm与yarn的对比
作用 | npm | yarn |
---|---|---|
初始化项目 | npm init -y | yarn init -y |
安装项目依赖 | npm install / npm i | yarn / yarn install |
添加依赖 | npm install [package]@[version] | yarn add [package]@[version] |
更新依赖 | npm update [package]@[version] | yarn up [package]@[version] |
移除依赖 | npm uninstall [package] | yarn remove [package] |
运行自定义脚本 | npm run | yarn run |
下载并运行命令 | npm init command | yarn create command |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具