Skip to content

better-sqlite3 installation error #392

@krishgalani

Description

@krishgalani

Hi, I'm currently running into this error when installing with Node.js > v22 (including LTS versions which they claim to have prebuilds for) on arm64 architecture. I have the latest version of ulixee/hero. Here is the error:

npm warn deprecated lodash.isequal@4.5.0: This package is deprecated. Use require('node:util').isDeepStrictEqual instead.
npm warn deprecated node-domexception@1.0.0: Use your platform's native DOMException instead
npm warn deprecated @substrate/connect@0.8.11: versions below 1.x are no longer maintained
npm error code 1
npm error path /Users/kgala/Coding/node_modules/better-sqlite3
npm error command failed
npm error command sh -c prebuild-install || node-gyp rebuild --release
npm error TOUCH ba23eeee118cd63e16015df367567cb043fed872.intermediate
npm error   ACTION deps_sqlite3_gyp_locate_sqlite3_target_copy_builtin_sqlite3 ba23eeee118cd63e16015df367567cb043fed872.intermediate
npm error   TOUCH Release/obj.target/deps/locate_sqlite3.stamp
npm error   CC(target) Release/obj.target/sqlite3/gen/sqlite3/sqlite3.o
npm error   LIBTOOL-STATIC Release/sqlite3.a
npm error   CXX(target) Release/obj.target/better_sqlite3/src/better_sqlite3.o
npm error rm ba23eeee118cd63e16015df367567cb043fed872.intermediate
npm error (node:17623) [DEP0176] DeprecationWarning: fs.R_OK is deprecated, use fs.constants.R_OK instead
npm error (Use `node --trace-deprecation ...` to show where the warning was created)
npm error prebuild-install warn install No prebuilt binaries found (target=24.12.0 runtime=node arch=arm64 libc= platform=darwin)
npm error gyp info it worked if it ends with ok
npm error gyp info using node-gyp@11.4.2
npm error gyp info using node@24.12.0 | darwin | arm64
npm error gyp info find Python using Python version 3.10.2 found at "/Library/Frameworks/Python.framework/Versions/3.10/bin/python3"
npm error gyp http GET https://nodejs.org/download/release/v24.12.0/node-v24.12.0-headers.tar.gz
npm error gyp http 200 https://nodejs.org/download/release/v24.12.0/node-v24.12.0-headers.tar.gz
npm error gyp http GET https://nodejs.org/download/release/v24.12.0/SHASUMS256.txt
npm error gyp http 200 https://nodejs.org/download/release/v24.12.0/SHASUMS256.txt
npm error gyp info spawn /Library/Frameworks/Python.framework/Versions/3.10/bin/python3
npm error gyp info spawn args [
npm error gyp info spawn args '/Users/kgala/.nvm/versions/node/v24.12.0/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py',
npm error gyp info spawn args 'binding.gyp',
npm error gyp info spawn args '-f',
npm error gyp info spawn args 'make',
npm error gyp info spawn args '-I',
npm error gyp info spawn args '/Users/kgala/Coding/node_modules/better-sqlite3/build/config.gypi',
npm error gyp info spawn args '-I',
npm error gyp info spawn args '/Users/kgala/.nvm/versions/node/v24.12.0/lib/node_modules/npm/node_modules/node-gyp/addon.gypi',
npm error gyp info spawn args '-I',
npm error gyp info spawn args '/Users/kgala/Library/Caches/node-gyp/24.12.0/include/node/common.gypi',
npm error gyp info spawn args '-Dlibrary=shared_library',
npm error gyp info spawn args '-Dvisibility=default',
npm error gyp info spawn args '-Dnode_root_dir=/Users/kgala/Library/Caches/node-gyp/24.12.0',
npm error gyp info spawn args '-Dnode_gyp_dir=/Users/kgala/.nvm/versions/node/v24.12.0/lib/node_modules/npm/node_modules/node-gyp',
npm error gyp info spawn args '-Dnode_lib_file=/Users/kgala/Library/Caches/node-gyp/24.12.0/<(target_arch)/node.lib',
npm error gyp info spawn args '-Dmodule_root_dir=/Users/kgala/Coding/node_modules/better-sqlite3',
npm error gyp info spawn args '-Dnode_engine=v8',
npm error gyp info spawn args '--depth=.',
npm error gyp info spawn args '--no-parallel',
npm error gyp info spawn args '--generator-output',
npm error gyp info spawn args 'build',
npm error gyp info spawn args '-Goutput_dir=.'
npm error gyp info spawn args ]
npm error gyp info spawn make
npm error gyp info spawn args [ 'BUILDTYPE=Release', '-C', 'build' ]
npm error In file included from ../src/better_sqlite3.cpp:4:
npm error ./src/better_sqlite3.lzz:2:10: fatal error: 'climits' file not found
npm error     2 | #include <climits>
npm error       |          ^~~~~~~~~
npm error 1 error generated.
npm error make: *** [Release/obj.target/better_sqlite3/src/better_sqlite3.o] Error 1
npm error gyp ERR! build error 
npm error gyp ERR! stack Error: `make` failed with exit code: 2
npm error gyp ERR! stack at ChildProcess.<anonymous> (/Users/kgala/.nvm/versions/node/v24.12.0/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:219:23)
npm error gyp ERR! System Darwin 25.1.0
npm error gyp ERR! command "/Users/kgala/.nvm/versions/node/v24.12.0/bin/node" "/Users/kgala/.nvm/versions/node/v24.12.0/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild" "--release"
npm error gyp ERR! cwd /Users/kgala/Coding/node_modules/better-sqlite3
npm error gyp ERR! node -v v24.12.0
npm error gyp ERR! node-gyp -v v11.4.2
npm error gyp ERR! not ok

Here is the dependency tree:

Image

I suspect this error is caused by ulixee/hero using an older version of better-sqlite3 which doesnt support prebuilds for Node LTS versions > 22

Is there any solution to this error other than changing my Node version (not ideal for me)?

Thanks for your attention to this!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions