node-sqlite3 icon indicating copy to clipboard operation
node-sqlite3 copied to clipboard

npm install sqlite3 fail if prebuilt unreachable and Python v3.12 is installed

Open yfdyh000 opened this issue 1 year ago • 2 comments

Issue Summary

Retrieval of pre-built files failed due to my network issue. Then, the build step fails due to Python and node-gyp version incompatibility.

https://github.com/nodejs/node-gyp/issues/2869 https://github.com/nodejs/node-gyp/issues/2942#issuecomment-1807535065

Relevant logs or output

691 verbose pkgid [email protected]

693 verbose Windows_NT 10.0.19045 694 verbose node v18.17.0 695 verbose npm v10.2.5

prebuild-install warn install connect ETIMEDOUT 20.205.243.166:443

700 error gyp info spawn args ] 700 error Traceback (most recent call last): 700 error File "[dir]\node_modules\node-gyp\gyp\gyp_main.py", line 42, in 700 error import gyp # noqa: E402 700 error ^^^^^^^^^^ 700 error File "[dir]\node_modules\node-gyp\gyp\pylib\gyp_init_.py", line 9, in 700 error import gyp.input 700 error File "[dir]\node_modules\node-gyp\gyp\pylib\gyp\input.py", line 19, in 700 error from distutils.version import StrictVersion 700 error ModuleNotFoundError: No module named 'distutils' 700 error gyp ERR! configure error 700 error gyp ERR! stack Error: gyp failed with exit code: 1 700 error gyp ERR! stack at ChildProcess.onCpExit ([dir]\node_modules\node-gyp\lib\configure.js:259:16) 700 error gyp ERR! stack at ChildProcess.emit (node:events:514:28) 700 error gyp ERR! stack at ChildProcess._handle.onexit (node:internal/child_process:291:12) 700 error gyp ERR! System Windows_NT 10.0.19045 700 error gyp ERR! command "C:\Program Files\nodejs\node.exe" "[dir]\node_modules\node-gyp\bin\node-gyp.js" "rebuild" 700 error gyp ERR! cwd [dir]\node_modules\sqlite3 700 error gyp ERR! node -v v18.17.0 700 error gyp ERR! node-gyp -v v8.4.1 700 error gyp ERR! not ok 701 verbose exit 1

Version

5.1.7

Node.js Version

18.17.0

How did you install the library?

Windows 10 x64

yfdyh000 avatar Jan 19 '24 12:01 yfdyh000

Need to bump prebuild-install AFAIK.

segevfiner avatar Feb 13 '24 18:02 segevfiner

I hit the same issue: my network situation does not allow downloading the prebuilt binary, and I need to upgrade to Python 3.12 due to security reasons. There is even a (imho non-straight-forward) way to update npm's internal node-gyp version to 10.x: https://github.com/nodejs/node-gyp/blob/main/docs/Updating-npm-bundled-node-gyp.md

But the peerDependencies (https://github.com/TryGhost/node-sqlite3/blame/master/package.json#L58) and optionalDependencies (https://github.com/TryGhost/node-sqlite3/blame/master/package.json#L66) seem to prevent using a higher major version of node-gyp.

Would it work with "node-gyp": "^8.0.0" (to allow for higher major version as well?

Rob3rtS avatar May 03 '24 15:05 Rob3rtS