1. 检查 Yarn 版本
首先,检查你正在使用的 Yarn 版本。Yarn 不同版本的配置方式有所不同,特别是从 Yarn 1.x 升级到 Yarn 2.x(又称 Berry)后,配置的方式发生了变化。
可以使用以下命令来检查当前的 Yarn 版本:
yarn --version
- Yarn 1.x:如果你使用的是 1.x 版本,
yarn config set registry https://registry.npmjs.org/
命令应该能正常工作。 - Yarn 2.x 及以上(Berry):Yarn 2.x 引入了新的配置方式,配置不再通过
yarn config set
命令,而是通过.yarnrc.yml
文件来管理。
2. Yarn 2.x(Berry)配置方式
如果你使用的是 Yarn 2.x 或更高版本,配置注册表需要通过 .yarnrc.yml
文件,而不是使用 yarn config set
命令。
按照以下步骤来设置注册表:
- 在你的项目根目录中找到或创建
.yarnrc.yml
文件。 - 在
.yarnrc.yml
文件中添加如下配置:
npmRegistryServer: "https://registry.npmjs.org/"
这样就能在 Yarn 2.x 或更高版本中设置注册表。
3. Yarn 1.x 配置方式
如果你使用的是 Yarn 1.x 版本,且 yarn config set registry
命令仍然无法正常工作,可以尝试以下操作:
手动编辑 .yarnrc
文件:
- 进入项目根目录。
- 检查是否存在
.yarnrc
文件(这是一个隐藏文件)。 - 打开
.yarnrc
文件,添加或修改注册表配置:
registry "https://registry.npmjs.org/"
如果 .yarnrc
文件不存在,可以手动创建一个并添加上述配置。
清理 Yarn 缓存:
有时,旧的缓存或者配置文件可能导致问题。尝试清理 Yarn 缓存并重新配置:
yarn cache clean
然后再次尝试运行 yarn config set registry
命令,或者手动编辑 .yarnrc
文件。
4. 升级或降级 Yarn 版本
如果你不确定当前使用的是哪个版本的 Yarn,或者遇到了无法解决的问题,考虑升级或降级到你希望使用的版本。
-
升级到最新的 Yarn:
npm install -g yarn
-
降级到 Yarn 1.x:
npm install -g yarn@1.x
5. 检查其他配置文件
Yarn 会使用多个配置文件存储设置,可能存在冲突。检查是否有 .npmrc
文件或其他全局 Yarn 配置文件。
-
查看全局配置:
Yarn 的全局配置可能存储在~/.yarnrc
或~/.config/yarn/global
中。你可以通过以下命令查看当前的 Yarn 配置:
yarn config list
这将显示当前 Yarn 使用的所有配置,包括注册表设置。
总结
- 如果你使用 Yarn 2.x 或以上版本(Berry),需要通过
.yarnrc.yml
文件来设置注册表。 - 如果你使用 Yarn 1.x,可以使用
yarn config set registry https://registry.npmjs.org/
命令,或者手动编辑.yarnrc
文件。 - 确认你的 Yarn 版本,并清理缓存,确保没有旧的配置干扰。
-