WSL中Node.js更新后无法切换版本及Yarn报错求助
问题解决步骤
一、切换并激活Node.js v20.12.2
从安装信息来看,v20.12.2已安装到/usr/local/bin/node,但当前系统优先使用nvm管理的v16.14.2,按以下方式切换:
- 临时验证v20可用性:
/usr/local/bin/node -v - 永久切换(二选一):
- 用nvm管理v20:
nvm install 20.12.2 nvm alias default 20.12.2 nvm use 20.12.2 - 直接调整PATH优先级:
编辑~/.bashrc或~/.zshrc(对应你使用的shell),添加:
执行export PATH="/usr/local/bin:$PATH"source ~/.bashrc生效。
- 用nvm管理v20:
二、修复Yarn报错
1. 解决"There are no scenarios; must have at least one."
这个错误是因为你安装了Ubuntu系统自带的yarn工具(非Node.js包管理器),处理方式:
sudo apt remove yarn sudo apt autoremove npm install -g yarn
验证:yarn -v
2. 解决"No such file or directory: 'hardhat'"
项目缺少hardhat依赖,执行:
cd /hh-fcc/hardhat-simple-storage-fcc yarn install
之后再运行编译命令:yarn hardhat compile
三、VS Code WSL环境生效
修改完成后,重启VS Code的WSL窗口,或在终端执行source ~/.bashrc,再用node -v确认版本切换成功。
内容的提问来源于stack exchange,提问作者Study Account
相关产品推荐
相关产品推荐

