为什么要本地安装?

多人开发时,每个人电脑上装的yarn版本可能不一样,有时这会导致微妙且不易察觉的问题。利用本地安装,我们可以在项目中保证版本一致。

怎么做?

1 首先保证你有一个全局的yarn版本

// 这里为了和一会的本地版本做区分,手动指定了一个1.22.21
npm install -g yarn@1.22.21

验证一下安装是否成功

yarn -v
// 1.22.21

2 进入到项目根目录中,执行安装命令

# 不要在桌面上的文件夹中执行这个命令,因为会导致yarn被安装到用户目录,而不是你期望的当前仓库目录
yarn set version 3.2.0

验证一下安装是否成功

yarn -v
// 3.2.0

3 退出项目根目录,再次验证全局版本

yarn -v
// 1.22.21

4 将项目根目录下的配置文件保存到仓库
本地安装后,项目中会生成以下文件:

.yarn/releases/yarn-3.2.0.cjs
.yarnrc.yml

package.json中也会多出一行

{
    ...
    "packageManager": "yarn@3.2.0"
}

将上面这些提交到远程仓库,当团队人员拉取到上述内容后,在当前项目中执行的yarn命令就会实际执行到本地安装的yarn了。

注意事项

遇到getaddrinfo ENOENT raw.githubusercontent.com

这是由于raw.githubusercontent.com被墙了,如果你的梯子没有代理,可以手动修改一下host.

1 前往https://site.ip138.com/raw.Githubusercontent.com/

2 复制一个可用的ip
image.png

3 加入hosts文件中
image.png

4 再次执行命令

info There appears to be trouble with your network connection. Retrying

将超时时间改长点

yarn set version 3.2.0 --network-timeout 1000000
// or
yarn cache clean

热饭班长
3.7k 声望434 粉丝

先去做,做出一坨狗屎,再改进。