我的 asdf 有问题。 我已经安装了最新的nodejs。
asdf install nodejs latest
...
asdf local nodejs latest / asdf global nodejs latest
但是如果我尝试
yarn
No preset version installed for command yarn
Please install a version by running one of the following:
asdf install nodejs 18.0.0
or add one of the following versions in your config file at /Users/../project-name/.tool-versions
nodejs 14.17.0
nodejs 19.0.1
但是我的项目结构中的.tool-version已经包含它了:
nodejs 18.0.0
nodejs 19.0.1
(对于我的项目,我需要nodejs >= 18) 我用的是苹果M1芯片。
当您在不同版本的节点(而不是活动节点)下安装了纱线时,就会发生这种情况。由于yarn是node版本下的包,因此您需要使用新的活跃版本的node来(重新)安装yarn:
npm install -g yarn
然后它应该可以工作。
您需要设置 asdf 的本地实例,使用
asdf local nodejs 19.0.1
有一个更好的方法可以解决“没有为命令yarn安装预设版本”问题,而无需全局安装
yarn
。如果同一台机器上的不同项目需要不同的yarn版本,yarn全局安装将会出现问题。
从版本 16.9 开始,Yarn 随 Node.js 一起提供。您可以使用命令启用它:
corepack enable
那么您很可能需要重新填充 asdf 二进制文件:
asdf reshim
如果您使用早于 16.9 的 Node js,请使用 npm 以@wil-w 的身份全局安装 Yarn 建议
如果您升级或降级了包中的 Node js 版本并收到“没有为命令纱线安装预设版本”错误,那么您可以应用上面相同的解决方案。