Yarn的介绍、安装与使用说明
介绍
Safe, stable, reproducible projects
yarn 是 facebook 开发并发布的一款包管理工具,关于他的介绍,可以前往yarn-a-new-package-manager-for-javascript facebook官网的介绍进行查看。
Yarn是一个包管理器,可以兼任项目管理。 无论你是一次性项目还是大型Monorepos
1,无论是业余爱好者还是企业用户,yarn都可以为你服务。
Yarn是你的代码的包管理器。 它让你与世界各地的其他开发人员使用和分享代码。 Yarn快速,安全且可靠地执行,因此你不必担心。
Yarn允许你使用其他开发人员的解决方案来解决不同的问题,从而使你更轻松地开发你的软件。 如果遇到问题,你可以报告问题或做出贡献,当问题解决后,你可以使用Yarn保持项目为最新版本。
代码通过称为package
的东西共享。 一个package
包含所有共享的代码以及描述该软件包的package.json文件(称为清单)。
安装
从 yarn 1 迁移
We’ve been compiling helpful advice when porting over from Yarn 1 on the following Migration Guide. Give it a look and contribute to it if you see things that aren’t covered yet! Make sure to consult the PnP Compatibility Table and enable the node-modules plugin if required!
全局安装
不建议全局安装Yarn 2.x,官方推荐采用按每个项目安装的策略。官方建议通过操作指南安装来保持 Yarn 1.x(经典)作为全局二进制文件。
全局安装 yarn的相关过程,请查阅 Yarn 1.x 全局安装
按照说明进行操作,在命令行执行以下指令:
yarn --version
提示yarn的版本号,如 1.22.4
及安装成功,可以进行以下操作。
项目安装
-
跟随全局安装指南
-
切换到项目路径
cd ~/path/to/project
-
执行以下指令
yarn policies set-version berry # below v1.22 yarn set version berry # on v1.22+
-
提交
.yarn
和.yarnrc.yml
更改。
从master重新安装最新版本
-
跟项目安装指南
-
执行以下指令(添加
--no-minify
,如果你想要一个未压缩构建)yarn set version from sources
使用
Migrating from Yarn 1
We’ve been compiling helpful advice when porting over from Yarn 1 on the following Migration Guide. Give it a look and contribute to it if you see things that aren’t covered yet! Make sure to consult the PnP Compatibility Table and enable the node-modules plugin if required!
以下为你需要了解的yarn的最常用使用。
查看指令列表
yarn help
开始一个新的项目
yarn init
安装所有依赖
yarn
yarn install
添加一个依赖
yarn add [package]
yarn add [package]@[version]
yarn add [package]@[tag]
将依赖项添加到不同分类的依赖项中
yarn add [package] --dev # dev dependencies
yarn add [package] --peer # peer dependencies
升级依赖
yarn up [package]
yarn up [package]@[version]
yarn up [package]@[tag]
移除依赖
yarn remove [package]
升级yarn
yarn set version latest
yarn set version from sources
切换镜像源
这在国内很常见,国外服务器连接一般容易超时或速度慢。国内阿里云提供了npm镜像源
,可以去官方介绍查看。yarn 也可以使用。
yarn config set registry https://registry.npm.taobao.org -g
Monorepo 是管理项目代码的一个方式,指在一个项目仓库 (repo) 中管理多个模块/包 (package),不同于常见的每个模块建一个 repo。 ↩︎