React项目yarn install报gyp ERR! find VS及start启动异常求助
环境版本信息
- npm: 9.3.1
- Node.js: v19.4.0
- Yarn: 1.22.19
- 项目类型:隶属于.NET解决方案的独立React项目,使用Yarn管理依赖
问题1:yarn install 执行失败,node-sass编译报错
错误核心是node-gyp无法识别已安装的Visual Studio 2022环境,同时Python版本与node-gyp不兼容,导致node-sass编译失败。
解决步骤:
- 强制指定Visual Studio版本
打开管理员权限的命令提示符,执行以下命令为node-gyp指定VS版本:npm config set msvs_version 2022 --global - 修复VS组件安装
打开Visual Studio Installer,确认"Desktop development with C++"工作负载已安装,且包含:- MSVC v143 - VS 2022 C++ x64/x86 build tools
- 对应Windows版本的SDK(如Windows 10 SDK)
安装完成后重启电脑。
- 降级Python版本
Python 3.11与node-gyp@7.1.2兼容性差,安装Python 3.9.x版本后,执行命令指定npm使用该版本:npm config set python "C:\你的Python39路径\python.exe" --global - 迁移到sass替代node-sass
node-sass已停止维护,直接替换为dart-sass(包名sass):
项目中scss导入语句无需修改,完全兼容。yarn remove node-sass yarn add sass --dev
问题2:yarn start 抛出ERR_OSSL_EVP_UNSUPPORTED错误
该错误是Node.js 17+默认禁用旧OpenSSL哈希算法,而项目webpack版本过低不兼容导致的。
解决步骤:
- 临时启动方案
在命令提示符中执行:set NODE_OPTIONS=--openssl-legacy-provider && yarn start - 永久环境变量配置(Windows)
打开系统环境变量设置,新增系统变量:- 变量名:
NODE_OPTIONS - 变量值:
--openssl-legacy-provider
保存后重启命令行工具,再执行yarn start即可生效。
- 变量名:
- 升级webpack及依赖
若不想使用legacy模式,可升级webpack到5.60+版本:
注意:升级后需检查webpack配置,确保项目兼容新版本。yarn upgrade webpack webpack-cli babel-loader --dev
内容的提问来源于stack exchange,提问作者Ahmed Hassan
相关产品推荐
相关产品推荐

