Expo React Native Web启动报错ERR_OSSL_EVP_UNSUPPORTED如何解决?
解决Expo Web启动时
ERR_OSSL_EVP_UNSUPPORTED错误 这个错误源于Node.js 17+版本默认禁用了旧版OpenSSL哈希算法,而你项目依赖的Webpack版本(从报错路径可见为较旧版本)仍在使用这类算法。以下是几种可行的解决方案:
方法一:临时启动时指定环境变量
在启动命令前添加兼容参数,直接执行:
NODE_OPTIONS="--openssl-legacy-provider" npm run web
方法二:修改package.json中的启动脚本
将package.json里的web启动命令替换为带兼容参数的版本:
"scripts": { "web": "NODE_OPTIONS=\"--openssl-legacy-provider\" expo start --web" }
修改后直接运行npm run web即可正常启动。
方法三:降级Node.js版本
如果不想修改命令,可将Node.js降级到16.x LTS版本,该版本默认不启用新的OpenSSL限制,能兼容旧版Webpack的哈希算法。用nvm(Node版本管理器)快速切换:
nvm install 16 nvm use 16
方法四:升级Webpack及相关依赖
若项目允许,可尝试将Webpack升级到5.60.0以上版本,新版Webpack已适配Node.js 17+的哈希算法要求。注意Expo项目的依赖兼容性,升级前建议备份项目文件。
内容的提问来源于stack exchange,提问作者iandev
相关产品推荐
相关产品推荐

