在WSL中安装Bun出现不支持平台问题排查
WSL环境下npm安装Bun触发EBADPLATFORM错误的原因分析
从终端输出的细节可以直接定位问题根源:
- 第二个WSL发行版调用的是Windows系统的npm,而非WSL内部的npm
注意到报错日志的路径是C:\Users\HP\AppData\Local\npm-cache\_logs\...,这是Windows系统的路径,而非WSL Ubuntu的Linux路径(正常应为/home/ubuntu/.npm/...这类格式)。这说明在第二个环境中执行npm命令时,实际运行的是Windows系统安装的npm程序,而非WSL Ubuntu内部的npm。 - Windows版npm会将系统识别为win32,不符合Bun的平台要求
Bun 1.0.0的npm包仅支持darwin(macOS)和Linux平台,Windows版npm运行时会把当前系统识别为win32,自然触发EBADPLATFORM错误;而第一个WSL环境中调用的是Ubuntu内部的npm,会正确识别为Linux平台,因此能正常安装Bun。 - 环境变量PATH的优先级导致命令调用错位
两个WSL发行版的PATH配置存在差异:第二个环境中Windows系统的PATH目录优先级高于WSL内部的PATH,导致输入npm时优先匹配到Windows下的npm程序。而第一个环境的PATH配置是WSL内部的目录优先级更高,所以调用的是Ubuntu自己的npm。
内容的提问来源于stack exchange,提问作者Eli Tref
相关产品推荐
相关产品推荐

