electron 更新电子React应用程序后sqlite3出错

zysjyyx4  于 2022-12-08  发布在  Electron
关注(0)|答案(1)|浏览(213)

更新我的electron-react应用程序后,当我尝试用npm run dev启动它时,我收到控制台错误消息,说我需要手动安装sqlite3。
sqlite3安装在4.0.6,React在16.8.6,电子在3.1.6
经过一番挖掘,我尝试了stackoverflow和git的几个解决方案,但都不起作用。我尝试了例如安装electron-builder,electron-rebuilder等。
在直接使用electron-rebuild之后,我设法让应用程序与npm run dev一起运行,但是当我尝试打包它或使用electron-builder install-app-deps时,我收到以下错误消息

• electron-builder version=20.39.0
  • loaded configuration file=package.json ("build" field)
  • rebuilding native production dependencies platform=win32 arch=x64
Error: C:\Program Files\nodejs\node.exe exited with code 1
Output:

> sqlite3@4.0.6 install D:\Projects\Node\Rex-Importer\node_modules\sqlite3
> node-pre-gyp install --fallback-to-build

Building the projects in this solution one at a time. To enable parallel build, please add the "/m" switch.
  unpack_sqlite_dep
  'C:\Users\Nuno' is not recognized as an internal or external command,
  operable program or batch file.
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppCommon.targets(171,5): error MSB6006: "cmd.exe" exited with code 1. [D:\Projects\Node\Rex-Importer\node_modules\sqlite3\build\deps\action_before_build.vcxproj]
Failed to execute 'C:\Program Files\nodejs\node.exe C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\bin\node-gyp.js build --fallback-to-build --module=D:\Projects\Node\Rex-Importer\node_modules\sqlite3\lib\binding\electron-v3.1-win32-x64\node_sqlite3.node --module_name=node_sqlite3 --module_path=D:\Projects\Node\Rex-Importer\node_modules\sqlite3\lib\binding\electron-v3.1-win32-x64 --napi_version=3 --node_abi_napi=napi --napi_build_version=0 --node_napi_label=electron-v3.1' (1)

Error output:
node-pre-gyp WARN Using request for node-pre-gyp https download
node-pre-gyp WARN Tried to download(403): https://mapbox-node-binary.s3.amazonaws.com/sqlite3/v4.0.6/electron-v3.1-win32-x64.tar.gz
node-pre-gyp WARN Pre-built binaries not found for sqlite3@4.0.6 and electron@3.1.6 (electron-v3.1 ABI, unknown) (falling back to source compile with node-gyp)
gyp ERR! build error
gyp ERR! stack Error: `C:\Program Files (x86)\MSBuild\14.0\bin\msbuild.exe` failed with exit code: 1
gyp ERR! stack     at ChildProcess.onExit (C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\build.js:262:23)
gyp ERR! stack     at ChildProcess.emit (events.js:189:13)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:248:12)
gyp ERR! System Windows_NT 10.0.17763
gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "build" "--fallback-to-build" "--module=D:\\Projects\\Node\\Rex-Importer\\node_modules\\sqlite3\\lib\\binding\\electron-v3.1-win32-x64\\node_sqlite3.node" "--module_name=node_sqlite3" "--module_path=D:\\Projects\\Node\\Rex-Importer\\node_modules\\sqlite3\\lib\\binding\\electron-v3.1-win32-x64" "--napi_version=3" "--node_abi_napi=napi" "--napi_build_version=0" "--node_napi_label=electron-v3.1"
gyp ERR! cwd D:\Projects\Node\Rex-Importer\node_modules\sqlite3
gyp ERR! node -v v10.15.3
gyp ERR! node-gyp -v v3.8.0
gyp ERR! not ok
node-pre-gyp ERR! build error
node-pre-gyp ERR! stack Error: Failed to execute 'C:\Program Files\nodejs\node.exe C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\bin\node-gyp.js build --fallback-to-build --module=D:\Projects\Node\Rex-Importer\node_modules\sqlite3\lib\binding\electron-v3.1-win32-x64\node_sqlite3.node --module_name=node_sqlite3 --module_path=D:\Projects\Node\Rex-Importer\node_modules\sqlite3\lib\binding\electron-v3.1-win32-x64 --napi_version=3 --node_abi_napi=napi --napi_build_version=0 --node_napi_label=electron-v3.1' (1)
node-pre-gyp ERR! stack     at ChildProcess.<anonymous> (D:\Projects\Node\Rex-Importer\node_modules\node-pre-gyp\lib\util\compile.js:83:29)
node-pre-gyp ERR! stack     at ChildProcess.emit (events.js:189:13)
node-pre-gyp ERR! stack     at maybeClose (internal/child_process.js:970:16)
node-pre-gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:259:5)
node-pre-gyp ERR! System Windows_NT 10.0.17763
node-pre-gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "D:\\Projects\\Node\\Rex-Importer\\node_modules\\node-pre-gyp\\bin\\node-pre-gyp" "install" "--fallback-to-build"
node-pre-gyp ERR! cwd D:\Projects\Node\Rex-Importer\node_modules\sqlite3
node-pre-gyp ERR! node -v v10.15.3
node-pre-gyp ERR! node-pre-gyp -v v0.11.0
node-pre-gyp ERR! not ok
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! sqlite3@4.0.6 install: `node-pre-gyp install --fallback-to-build`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the sqlite3@4.0.6 install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\Nuno Almeida\AppData\Roaming\npm-cache\_logs\2019-04-03T14_49_32_913Z-debug.log

    at ChildProcess.childProcess.once.code (D:\Projects\Node\Rex-Importer\node_modules\builder-util\src\util.ts:244:14)
    at Object.onceWrapper (events.js:277:13)
    at ChildProcess.emit (events.js:189:13)
    at maybeClose (internal/child_process.js:970:16)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:259:5)
From previous event:
    at _rebuild (D:\Projects\Node\Rex-Importer\node_modules\app-builder-lib\src\util\yarn.ts:179:5)
    at rebuild (D:\Projects\Node\Rex-Importer\node_modules\app-builder-lib\out\util\yarn.js:163:19)
    at D:\Projects\Node\Rex-Importer\node_modules\app-builder-lib\src\util\yarn.ts:20:11
From previous event:
    at _installOrRebuild (D:\Projects\Node\Rex-Importer\node_modules\app-builder-lib\out\util\yarn.js:71:28)
    at installOrRebuild (D:\Projects\Node\Rex-Importer\node_modules\app-builder-lib\out\util\yarn.js:55:28)
    at D:\Projects\Node\Rex-Importer\node_modules\electron-builder\src\cli\install-app-deps.ts:56:9
    at Generator.next (<anonymous>)
    at runCallback (timers.js:705:18)
    at tryOnImmediate (timers.js:676:5)
    at processImmediate (timers.js:658:5)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! electron-react-boilerplate@0.17.1 postinstall: `yarn flow-typed && electron-builder install-app-deps package.json && yarn build-dll && opencollective-postinstall`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the electron-react-boilerplate@0.17.1 postinstall script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\Nuno Almeida\AppData\Roaming\npm-cache\_logs\2019-04-03T14_49_32_973Z-debug.log

有没有人想出这个办法?我已经试过很多办法了,但都没办法让它工作。
先谢谢你了

mzaanser

mzaanser1#

你应该做到:

npm i -g windows-build-tools

因为这个错误与Python 2.7有关,所以windows-build-tools自带了这个错误,所以要解决这个问题,下一步就是找到Python 2.7的路径:
应存储在此路径中:C:\Users\${your_windows_username}\.windows-build-tools\python27\python.exe
然后假设我们已经得到了我们所做的路径:

npm config set python C:\Users\${your_windows_username}\.windows-build-tools\python27\python.exe

就是这样,在我的情况下,问题是关于sqlite没有被正确安装,希望这能帮助你!

相关问题