npm安装依赖遇code 1错误,已试多方案无效,求技术帮助
Node-gyp无法识别D盘安装的VS2022问题解决方案
我正在开发一个JavaScript项目,导入第三方库时npm持续报错,错误提示node-gyp找不到可用的Visual Studio安装。我已经在D盘安装了VS2022,但始终无法被识别。试过npm update、重装npm、重装Node.js等20多种方案,都没解决,求有效办法。错误日志如下:
npm WARN deprecated har-validator@5.1.5: 该库已不再维护 npm WARN deprecated uuid@3.4.0: 请升级到7.x或更高版本。旧版本在某些场景下可能使用Math.random(),存在已知问题。 npm WARN deprecated request@2.88.2: request已被废弃,详见相关说明 npm ERR! code 1 npm ERR! 路径 C:\Users\danie\OneDrive\Desktop\science fair\node_modules\gl npm ERR! 命令执行失败 npm ERR! 命令 C:\Windows\system32\cmd.exe /d /s /c prebuild-install || node-gyp rebuild npm ERR! gyp info 执行成功会以ok结尾 npm ERR! gyp info 使用 node-gyp@7.1.2 npm ERR! gyp info 使用 node@16.18.0 | win32 | x64 npm ERR! gyp info 找到Python版本3.10.8,路径为 "C:\Python310\python.exe" npm ERR! gyp ERR! 查找VS npm ERR! gyp ERR! 查找VS msvs_version已通过命令行或npm配置设置 npm ERR! gyp ERR! 查找VS - 正在寻找Visual Studio 2015版本 npm ERR! gyp ERR! 查找VS VCINSTALLDIR未设置,未在VS命令提示符中运行 npm ERR! gyp ERR! 查找VS 在"D:\Applications\VS studio"找到未知版本"undefined" npm ERR! gyp ERR! 查找VS 检测到VS2019 (16.11.32929.386),路径为: npm ERR! gyp ERR! 查找VS "C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools" npm ERR! gyp ERR! 查找VS - 已找到"Visual Studio C++核心功能" npm ERR! gyp ERR! 查找VS - 已找到VC++工具集: v142 npm ERR! gyp ERR! 查找VS - 缺少Windows SDK npm ERR! gyp ERR! 查找VS 找不到可用的Visual Studio 2017或更高版本 npm ERR! gyp ERR! 查找VS 正在寻找Visual Studio 2015 npm ERR! gyp ERR! 查找VS - 未找到 npm ERR! gyp ERR! 查找VS 不再寻找VS2013,因为它仅支持到Node.js 8版本 npm ERR! gyp ERR! 查找VS npm ERR! gyp ERR! 查找VS 有效的msvs_version版本: npm ERR! gyp ERR! 查找VS npm ERR! gyp ERR! 查找VS ************************************************************** npm ERR! gyp ERR! 查找VS 你需要安装最新版本的Visual Studio npm ERR! gyp ERR! 查找VS 包含"使用C++的桌面开发"工作负载。 npm ERR! gyp ERR! 查找VS 更多信息请参考文档: npm ERR! gyp ERR! 查找VS https://github.com/nodejs/node-gyp#on-windows npm ERR! gyp ERR! 查找VS ************************************************************** npm ERR! gyp ERR! 查找VS npm ERR! gyp ERR! 配置错误 npm ERR! gyp ERR! 堆栈 Error: 找不到可用的Visual Studio安装 npm ERR! gyp ERR! 堆栈 在 VisualStudioFinder.fail (C:\Users\danie\OneDrive\Desktop\science fair\node_modules\node-gyp\lib\find-visualstudio.js:121:47) npm ERR! gyp ERR! 堆栈 在 C:\Users\danie\OneDrive\Desktop\science fair\node_modules\node-gyp\lib\find-visualstudio.js:74:16 npm ERR! gyp ERR! 堆栈 在 VisualStudioFinder.findVisualStudio2013 (C:\Users\danie\OneDrive\Desktop\science fair\node_modules\node-gyp\lib\find-visualstudio.js:351:14) npm ERR! gyp ERR! 堆栈 在 C:\Users\danie\OneDrive\Desktop\science fair\node_modules\node-gyp\lib\find-visualstudio.js:70:14 npm ERR! gyp ERR! 堆栈 在 C:\Users\danie\OneDrive\Desktop\science fair\node_modules\node-gyp\lib\find-visualstudio.js:372:16 npm ERR! gyp ERR! 堆栈 在 C:\Users\danie\OneDrive\Desktop\science fair\node_modules\node-gyp\lib\util.js:54:7 npm ERR! gyp ERR! 堆栈 在 C:\Users\danie\OneDrive\Desktop\science fair\node_modules\node-gyp\lib\util.js:33:16 npm ERR! gyp ERR! 堆栈 在 ChildProcess.exithandler (node:child_process:410:5) npm ERR! gyp ERR! 堆栈 在 ChildProcess.emit (node:events:513:28) npm ERR! gyp ERR! 堆栈 在 maybeClose (node:internal/child_process:1100:16) npm ERR! gyp ERR! 系统 Windows_NT 10.0.19044 npm ERR! gyp ERR! 命令 "C:\\Program Files\\nodejs\\node.exe" "C:\\Users\\danie\\OneDrive\\Desktop\\science fair\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild" npm ERR! gyp ERR! 当前工作目录 C:\Users\danie\OneDrive\Desktop\science fair\node_modules\gl npm ERR! gyp ERR! node版本 v16.18.0 npm ERR! gyp ERR! node-gyp版本 v7.1.2 npm ERR! gyp ERR! 执行失败 npm ERR! 本次运行的完整日志可在以下路径查看: npm ERR! C:\Users\danie\AppData\Local\npm-cache\_logs\2022-10-16T23_54_51_958Z-debug-0.log
解决步骤
强制指定VS版本给node-gyp
打开命令行,执行:npm config set msvs_version 2022
或者安装时临时指定:npm install --msvs_version=2022修复VS2022安装路径问题
你的VS2022安装路径包含空格("D:\Applications\VS studio"),可能导致识别异常,可二选一操作:- 打开VS Installer,修改安装,将路径改为无空格格式,比如
D:\Applications\VSStudio - 手动配置环境变量:右键此电脑→属性→高级系统设置→环境变量→系统变量中添加
VCINSTALLDIR,值为VS2022的VC路径,示例:D:\Applications\VS studio\VC\Tools\MSVC\14.34.31933(具体版本号以你安装的VS为准)
- 打开VS Installer,修改安装,将路径改为无空格格式,比如
补全VS2022必要组件
打开VS Installer,选择VS2022点击「修改」,确保勾选:- 「使用C++的桌面开发」工作负载
- 对应你系统版本的Windows SDK(你的系统是Windows 10 19044,选择10.0.19041.0或相近版本即可)
以管理员身份运行命令行
右键命令提示符或PowerShell,选择「以管理员身份运行」,再执行npm install清除缓存后重试
执行以下命令清除npm缓存,再重新安装:npm cache clean --forcenpm install
内容的提问来源于stack exchange,提问作者donutgoos
相关产品推荐
相关产品推荐

