【问题标题】:Cant rebuild My electron App After Installing sqlite3 module安装 sqlite3 模块后无法重建我的电子应用程序
【发布时间】:2019-01-12 05:01:16
【问题描述】:

当我尝试使用命令“electron-rebuild -f -w sqlite3”重建我的代码时。我在 Windows 上收到此错误。

An unhandled error occurred inside electron-rebuild
gyp info it worked if it ends with ok
gyp info using node-gyp@3.7.0
gyp info using node@8.11.3 | win32 | x64
gyp http GET https://atom.io/download/electron/v2.0.5/iojs-v2.0.5.tar.gz
gyp http 200 https://atom.io/download/electron/v2.0.5/iojs-v2.0.5.tar.gz
gyp http GET https://atom.io/download/electron/v2.0.5/SHASUMS256.txt
gyp http GET https://atom.io/download/electron/v2.0.5/win-x64/iojs.lib
gyp http GET https://atom.io/download/electron/v2.0.5/win-x86/iojs.lib
gyp http 200 https://atom.io/download/electron/v2.0.5/SHASUMS256.txt
gyp http 200 https://atom.io/download/electron/v2.0.5/win-x64/iojs.lib
gyp http 200 https://atom.io/download/electron/v2.0.5/win-x86/iojs.lib
gyp info spawn C:\Python27\python.EXE
gyp info spawn args [ 'C:\\Users\\company             ismi\\AppData\\Roaming\\npm\\node_modules\\electron-rebuild\\node_modules\\node-    gyp\\gyp\\gyp_main.py',
gyp info spawn args   'binding.gyp',
gyp info spawn args   '-f',
gyp info spawn args   'msvs',
gyp info spawn args   '-G',
gyp info spawn args   'msvs_version=auto',
gyp info spawn args   '-I',
gyp info spawn args   'C:\\App\\node_modules\\sqlite3\\build\\config.gypi',
gyp info spawn args   '-I',
gyp info spawn args   'C:\\Users\\company ismi\\AppData\\Roaming\\npm\\node_modules\\electron-rebuild\\node_modules\\node-gyp\\addon.gypi',
gyp info spawn args   '-I',
gyp info spawn args   'C:\\Users\\company ismi\\.electron-gyp\\.node-    gyp\\iojs-2.0.5\\common.gypi',
gyp info spawn args   '-Dlibrary=shared_library',
gyp info spawn args   '-Dvisibility=default',
gyp info spawn args   '-Dnode_root_dir=C:\\Users\\company ismi\\.electron-    gyp\\.node-gyp\\iojs-2.0.5',
gyp info spawn args   '-Dnode_gyp_dir=C:\\Users\\company ismi\\AppData\\Roaming\\npm\\node_modules\\electron-rebuild\\node_modules\\node-gyp',
gyp info spawn args   '-Dnode_lib_file=C:\\Users\\company ismi\\.electron-    gyp\\.node-gyp\\iojs-2.0.5\\<(target_arch)\\iojs.lib',
gyp info spawn args   '-Dmodule_root_dir=C:\\App\\node_modules\\sqlite3',
gyp info spawn args   '-Dnode_engine=v8',
gyp info spawn args   '--depth=.',
gyp info spawn args   '--no-parallel',
gyp info spawn args   '--generator-output',
gyp info spawn args   'C:\\App\\node_modules\\sqlite3\\build',
gyp info spawn args   '-Goutput_dir=.' ]
gyp info spawn C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exe
gyp info spawn args [ 'build/binding.sln',
gyp info spawn args   '/clp:Verbosity=minimal',
gyp info spawn args   '/nologo',
gyp info spawn args   '/p:Configuration=Release;Platform=x64' ]
Building the projects in this solution one at a time. To enable parallel build, please add the "/m" switch.
C:\App\node_modules\sqlite3\build\deps\action_before_build.vcxproj(20,3): error MSB4019: The imported project "C:\Microsoft.Cpp.Default.props" was not found. Confirm that the path in the <Import> declaration is correct, and that the file exists on disk.
gyp ERR! build error
gyp ERR! stack Error:     `C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exe` failed with exit     code: 1
gyp ERR! stack     at ChildProcess.onExit (C:\Users\company ismi\AppData\Roaming\npm\node_modules\electron-rebuild\node_modules\node-    gyp\lib\build.js:262:23)
gyp ERR! stack     at emitTwo (events.js:126:13)
gyp ERR! stack     at ChildProcess.emit (events.js:214:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit     (internal/child_process.js:198:12)
gyp ERR! System Windows_NT 10.0.17134
gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\Users\\company ismi\\AppData\\Roaming\\npm\\node_modules\\electron-rebuild\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild" "--target=2.0.5" "--arch=x64" "--dist-url=https://atom.io/download/electron" "--build-from-source" "--module_name=node_sqlite3" "--module_path=C:\\App\\node_modules\\sqlite3\\lib\\binding\\electron-v2.0-win32-x64" "--host=https://mapbox-node-binary.s3.amazonaws.com" "--remote_path=./{name}/v4.0.2/{toolset}/" "--package_name=electron-v2.0-win32-x64.tar.gz"
gyp ERR! cwd C:\App\node_modules\sqlite3
gyp ERR! node -v v8.11.3
gyp ERR! node-gyp -v v3.7.0
gyp ERR! not ok

Failed with exit code: 1

Error: gyp info it worked if it ends with ok
gyp info using node-gyp@3.7.0
gyp info using node@8.11.3 | win32 | x64
gyp http GET https://atom.io/download/electron/v2.0.5/iojs-v2.0.5.tar.gz
gyp http 200 https://atom.io/download/electron/v2.0.5/iojs-v2.0.5.tar.gz
gyp http GET https://atom.io/download/electron/v2.0.5/SHASUMS256.txt
gyp http GET https://atom.io/download/electron/v2.0.5/win-x64/iojs.lib
gyp http GET https://atom.io/download/electron/v2.0.5/win-x86/iojs.lib
gyp http 200 https://atom.io/download/electron/v2.0.5/SHASUMS256.txt
gyp http 200 https://atom.io/download/electron/v2.0.5/win-x64/iojs.lib
gyp http 200 https://atom.io/download/electron/v2.0.5/win-x86/iojs.lib
gyp info spawn C:\Python27\python.EXE
gyp info spawn args [ 'C:\\Users\\company 
ismi\\AppData\\Roaming\\npm\\node_modules\\electron- 
rebuild\\node_modules\\node-gyp\\gyp\\gyp_main.py',
gyp info spawn args   'binding.gyp',
gyp info spawn args   '-f',
gyp info spawn args   'msvs',
gyp info spawn args   '-G',
gyp info spawn args   'msvs_version=auto',
gyp info spawn args   '-I',
gyp info spawn args   'C:\\App\\node_modules\\sqlite3\\build\\config.gypi',
gyp info spawn args   '-I',
gyp info spawn args   'C:\\Users\\company     ismi\\AppData\\Roaming\\npm\\node_modules\\electron-rebuild\\node_modules\\node-    gyp\\addon.gypi',
gyp info spawn args   '-I',
gyp info spawn args   'C:\\Users\\company ismi\\.electron-gyp\\.node-    gyp\\iojs-2.0.5\\common.gypi',
gyp info spawn args   '-Dlibrary=shared_library',
gyp info spawn args   '-Dvisibility=default',
gyp info spawn args   '-Dnode_root_dir=C:\\Users\\company ismi\\.electron-    gyp\\.node-gyp\\iojs-2.0.5',
gyp info spawn args   '-Dnode_gyp_dir=C:\\Users\\company     ismi\\AppData\\Roaming\\npm\\node_modules\\electron-rebuild\\node_modules\\node-    gyp',
gyp info spawn args   '-Dnode_lib_file=C:\\Users\\company ismi\\.electron-gyp\\.node-gyp\\iojs-2.0.5\\<(target_arch)\\iojs.lib',
gyp info spawn args   '-Dmodule_root_dir=C:\\App\\node_modules\\sqlite3',
gyp info spawn args   '-Dnode_engine=v8',
gyp info spawn args   '--depth=.',
gyp info spawn args   '--no-parallel',
gyp info spawn args   '--generator-output',
gyp info spawn args   'C:\\App\\node_modules\\sqlite3\\build',
gyp info spawn args   '-Goutput_dir=.' ]
gyp info spawn C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exe
gyp info spawn args [ 'build/binding.sln',
gyp info spawn args   '/clp:Verbosity=minimal',
gyp info spawn args   '/nologo',
gyp info spawn args   '/p:Configuration=Release;Platform=x64' ]
Building the projects in this solution one at a time. To enable parallel     build, please add the "/m" switch.
C:\App\node_modules\sqlite3\build\deps\action_before_build.vcxproj(20,3):     error MSB4019: The imported project "C:\Microsoft.Cpp.Default.props" was not found. Confirm that the path in the <Import> declaration is correct, and that the file exists on disk.

gyp 错误!构建错误 吉普错误!堆栈错误: C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exe 失败,退出代码:1 吉普错误! ChildProcess.onExit 的堆栈(C:\Users\company ismi\AppData\Roaming\npm\node_modules\electron-rebuild\node_modules\node-gyp\lib\build.js:262:23) 吉普错误!堆栈在 emitTwo (events.js:126:13) 吉普错误! ChildProcess.emit (events.js:214:7) 的堆栈 吉普错误!堆栈在 Process.ChildProcess._handle.onexit (internal/child_process.js:198:12) 吉普错误!系统 Windows_NT 10.0.17134 吉普错误!命令 "C:\Program Files\nodejs\node.exe" "C:\Users\company ismi\AppData\Roaming\npm\node_modules\electron-rebuild\node_modules\node-gyp\bin\node-gyp.js" "重建” “--target=2.0.5” “--arch=x64” “--dist-url=https://atom.io/download/electron” “--build-from-source” “--module_name=node_sqlite3” “--module_path= C:\App\node_modules\sqlite3\lib\binding\electron-v2.0-win32-x64" "--host=https://mapbox-node-binary.s3.amazonaws.com" ""--remote_path=./{name}/v4.0.2/{toolset} /" "--package_name=electron-v2.0-win32-x64.tar.gz" 吉普错误! cwd C:\App\node_modules\sqlite3 吉普错误!节点-v v8.11.3 吉普错误!节点gyp -v v3.7.0 吉普错误!不行

退出代码失败:1 在 SafeSubscriber._error (C:\Users\company ismi\AppData\Roaming\npm\node_modules\electron-rebuild\node_modules\spawn-rx\lib\src\index.js:277:84) 在 SafeSubscriber.__tryOrUnsub (C:\Users\company ismi\AppData\Roaming\npm\node_modules\electron-rebuild\node_modules\rxjs\Subscriber.js:242:16) 在 SafeSubscriber.error (C:\Users\company ismi\AppData\Roaming\npm\node_modules\electron-rebuild\node_modules\rxjs\Subscriber.js:201:26) 在 Subscriber._error (C:\Users\company ismi\AppData\Roaming\npm\node_modules\electron-rebuild\node_modules\rxjs\Subscriber.js:132:26) 在 Subscriber.error (C:\Users\company ismi\AppData\Roaming\npm\node_modules\electron-rebuild\node_modules\rxjs\Subscriber.js:106:18) 在 MapSubscriber.Subscriber._error (C:\Users\company ismi\AppData\Roaming\npm\node_modules\electron-rebuild\node_modules\rxjs\Subscriber.js:132:26) 在 MapSubscriber.Subscriber.error (C:\Users\company ismi\AppData\Roaming\npm\node_modules\electron-rebuild\node_modules\rxjs\Subscriber.js:106:18) 在 SafeSubscriber._next (C:\Users\company ismi\AppData\Roaming\npm\node_modules\electron-rebuild\node_modules\spawn-rx\lib\src\index.js:251:65) 在 SafeSubscriber.__tryOrUnsub (C:\Users\company ismi\AppData\Roaming\npm\node_modules\electron-rebuild\node_modules\rxjs\Subscriber.js:242:16) 在 SafeSubscriber.next (C:\Users\company ismi\AppData\Roaming\npm\node_modules\electron-rebuild\node_modules\rxjs\Subscriber.js:189:22)

我该如何解决。但相同的应用程序在 Mac 系统下运行良好。
请指导我修复此错误。

【问题讨论】:

    标签: node.js npm sqlite electron


    【解决方案1】:

    您是否尝试为 x86 和 x64 架构构建?并请正确格式化问题。看起来 node-gyp 正在使用本地缓存中的一些数据。您是否尝试过清理 AppData 文件夹?

    【讨论】:

    【解决方案2】:

    我会做什么:

    1. 转到 sqlite3 所在的文件夹,例如./node_modules/sqlite3 .

    2. 确保您已为 MS Windows 安装了 Visual Studio 编译器和 python。

    3. 编辑 ./node_modules/sqlite3/package.json 并在脚本部分添加一个新条目:

      "build_vcust": "node-pre-gyp 重建 --target=X.X.X --arch=x64 --dist-url=https://atom.io/download/electron --msvs_version=2015"

      注意:将 X.X.X 替换为您的电子版本。

    4. 从 sqlite3 文件夹执行“npm run build_vcust”。

    了解更多信息(参考):https://github.com/electron/electron/blob/master/docs/tutorial/using-native-node-modules.md

    【讨论】:

      猜你喜欢
      • 2016-12-07
      • 2022-10-30
      • 2019-11-02
      • 2016-04-30
      • 2016-11-30
      • 1970-01-01
      • 2022-11-01
      • 2021-06-21
      • 2020-03-10
      相关资源
      最近更新 更多