我已经克隆了一个使用Yarn1.x的项目,并且正在尝试运行它,但是我找不到一种方法来获得Yarn的正确版本。我想我一定是漏掉了什么。
评论终端会话:
# using node16.18.0
$ nvm use v16
Now using node v16.18.0 (npm v8.19.2)
# start with no yarn installed
$ yarn --version
zsh: command not found: yarn
# package.json has packageManager set for Yarn v1.22.19
$ cat package.json | grep packageManager
"packageManager": "yarn@1.22.19"
# enable corepack, and it ignores the packageManager version
$ corepack enable
$ yarn --version
3.2.4
# manually ask corepack to use v1.22.19, but it again ignores this
$ corepack prepare yarn@1.22.19 --activate
Preparing yarn@1.22.19 for immediate activation...
$ yarn --version
3.2.4
# manually ask corepack to run yarn 1.22.19, but it again ignores it
$ corepack yarn@1.22.19 --version
3.2.4所以,使用Corepack,我似乎无法说服它使用Yarn的版本。
此外,使用npm install -g进行安装似乎也不正确。
# disable corepack so there's no yarn installed
$ corepack disable
$ yarn --version
zsh: command not found: yarn
# install yarn v1.22.19
$ npm install -g yarn@1.22.19
added 1 package, and audited 2 packages in 326ms
found 0 vulnerabilities
# somehow it's installed 3.2.4 again
$ yarn --version
3.2.4发布于 2022-11-23 18:23:08
我最近也遇到了类似的问题。但成功地修复了它。(我不知道这是不是正确的做法,但至少对我有用)
which yarn将返回~/.nvm/versions/node/v18.12.1/bin/yarn和yarn --version返回3.2.4,即使在执行了与您完全相同的操作之后也是如此。(试着安装和使用纱线1.22.19)
然后,我想我会检查我的主文件夹~,并在那里找到一个.yarn文件夹和.yarnrc.yml文件,即使我应该卸载所有的全球纱线安装。
删除这个~/.yarn文件夹和~/.yarnrc.yml文件修复了我的问题,我能够像预期的那样使用纱线1.22.19。corepack也不再忽略我的命令
希望这也适用于你。
发布于 2022-10-31 11:56:04
这并不能解决corepack问题,但我已经能够让npm install -g yarn@1.22.19开始工作。我找到了一个包含3.2.4版本的文件~/.yarnrc.yml。我不确定npm纱线版本是否真的不正确,或者它是否错误地使用了~/.yarnrc.yml作为其真相的来源。但是,不管我何时删除了这个文件,并在所需的版本中全局重新安装了yarn,它都正常工作。
https://stackoverflow.com/questions/74262149
复制相似问题