WSL2环境运行npm提示不支持WSL1的问题求助
问题
运行npm时收到错误提示:
$ npm
WSL 1 is not supported. Please upgrade to WSL 2 or above.
但系统检测确认处于WSL2环境:
- 内核版本信息:
$ cat /proc/version Linux version 5.15.146.1-microsoft-standard-WSL2 (root@65c757a075e2) (gcc (GCC) 11.2.0, GNU ld (GNU Binutils) 2.37) #1 SMP Thu Jan 11 04:09:03 UTC 2024
- WSL全局版本信息:
PS > wsl -v WSL version: 2.1.5.0 Kernel version: 5.15.146.1-2 WSLg version: 1.0.60 MSRDC version: 1.2.5105 Direct3D version: 1.611.1-81528511 DXCore version: 10.0.25131.1002-220531-1700.rs-onecore-base2-hyp Windows version: 10.0.22631.3447
解决方案
- 确认当前发行版的WSL版本
全局WSL版本为2不代表所有发行版都配置为WSL2,运行以下命令查看所有发行版的版本:
wsl -l -v
如果目标发行版版本为1,执行切换命令:
wsl --set-version <你的发行版名称> 2
示例:wsl --set-version Ubuntu-22.04 2,切换完成后重启WSL。
- 清理npm缓存并重装npm
缓存损坏可能导致错误检测,执行:
npm cache clean --force sudo npm install -g npm
完成后重新运行npm测试。
- 检查npm的WSL检测逻辑
部分npm版本可能依赖/proc/sys/kernel/osrelease判断WSL版本,手动验证该文件内容:
cat /proc/sys/kernel/osrelease
如果输出包含WSL2,说明是npm的版本兼容问题,尝试升级到最新稳定版:
sudo npm install -g npm@latest
或降级到已知兼容的版本(如npm@9.x)。
- 重置WSL环境
若以上方法无效,尝试重置WSL:
# 在Windows终端执行 wsl --shutdown wsl --update
重启发行版后再次测试。
内容的提问来源于stack exchange,提问作者Igor Golovin
相关产品推荐
相关产品推荐

