Electron npm install 常见错误(Windows)
问题一:node_gyp使用版本不对
if not defined npm_config_node_gyp (node "C:\Users\Administrator\AppData\Roaming\npm\node_modules\npm\node_modules\npm-lifecycle\node-gyp-bin\\..\..\node_modules\node-gyp\bin\node-gyp.js" rebuild ) else (node "C:\Users\Administrator\AppData\Roaming\npm\node_modules\npm\node_modules\node-gyp\bin\node-gyp.js" rebuild )
问题:明明装的是5.0.2版本,使用的却是3.9.2版本。
原因:命令上已经写明,在npm_config_node_gyp未配置情况,node_gyp使用的版本。
解决:删掉前者路径的node-gyp。
问题二:无法找到 v140 的生成工具
C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\Common7\IDE\VC\VCTargets\Microsoft.Cpp.Platform.targets(6 7,5): error MSB8020: 无法找到 v140 的生成工具(平台工具集 =“v140”)。若要使用 v140 生成工具进行生成,请安装 v140 生成工具。或者,可以升级到当前 Visual Studio 工具,方式是通过选择 “项目”菜单或右键单击该解决方案,然后选择“重定解决方案目标”。 [F:\project\electron-source\node_modules\better-sqlite3\build\deps\locate_sqlite3.vcxpr oj] gyp ERR! build error gyp ERR! stack Error: `C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin\MSBuild.exe` failed with exit code: 1 gyp ERR! stack at ChildProcess.onExit (C:\Users\Administrator\AppData\Roaming\npm\node_modules\node-gyp\lib\build.js:190:23) gyp ERR! stack at ChildProcess.emit (events.js:182:13) gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:237:12) gyp ERR! System Windows_NT 10.0.17134 gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\Users\\Administrator\\AppData\\Roaming\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild" gyp ERR! cwd F:\project\electron-source\node_modules\better-sqlite3 gyp ERR! node -v v10.3.0 gyp ERR! node-gyp -v v5.0.2 gyp ERR! not ok
问题:依赖的c++插件库,总是编译出错,报没有v140工具。
原因:缺少 Visual Studio v140工具。
解决:
1、去到 C:\Program Files (x86)\Microsoft Visual Studio\Installer 目录。
2、打开 Visual Studio Installer 工具。
3、安装 MSVC v140 - VS 2015 C++ 生成工具(v14.00) 工具。
问题三:This is a bug in `node-pre-gyp`
node-pre-gyp ERR! Completion callback never invoked! node-pre-gyp ERR! System Windows_NT 10.0.17134 node-pre-gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "F:\\project\\electron-source\\node_modules\\@journeyapps\\sqlcipher\\node_modules\\node-pre-gyp\\bin\\node-pre-gyp" "install" "--fallback-to-build" node-pre-gyp ERR! cwd F:\project\electron-source\node_modules\@journeyapps\sqlcipher node-pre-gyp ERR! node -v v10.3.0 node-pre-gyp ERR! node-pre-gyp -v v0.10.0 node-pre-gyp ERR! This is a bug in `node-pre-gyp`. node-pre-gyp ERR! Try to update node-pre-gyp and file an issue if it does not help: node-pre-gyp ERR! <https://github.com/mapbox/node-pre-gyp/issues>
问题:执行到node-pre-gyp总是报错。
原因:未知。
解决:重启下电脑,就可以了……