Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Test does not work with Node v22 #61

Open
shuuji3 opened this issue Feb 15, 2025 · 5 comments · May be fixed by #62
Open

Test does not work with Node v22 #61

shuuji3 opened this issue Feb 15, 2025 · 5 comments · May be fixed by #62
Assignees
Labels
bug Something isn't working

Comments

@shuuji3
Copy link
Collaborator

shuuji3 commented Feb 15, 2025

The current vitest works only with Node v20 (previous LTS), but not with v22 (current LTS).

There seem to be two issues:

  • better-sqlite3 error (on Linux and macOS)
  • "no test files found" error and internal error with 500 (reported by @MathurAditya724 on Windows machine)

Node v20

$ node -v
v20.18.2

$ pnpm --filter @tsky/client test

> @tsky/[email protected] test /tmp/tsky/packages/client
> vitest


 DEV  v3.0.5 /tmp/tsky/packages/client

🌐 Created test network:
- pds: http://localhost:44389
- plc: http://localhost:45513
🙋 Created new account: @alice.test
🙋 Created new account: @bob.test
 ✓ src/tsky/tsky.test.ts (2 tests) 738ms
   ✓ createAgent > can create agent for Alice 381ms
   ✓ createAgent > can resume from stored session 355ms
 ✓ src/user/profile.test.ts (2 tests) 1989ms
   ✓ profile > Getting alice's profile 1248ms
   ✓ profile > Getting bob's profile 741ms
 ✓ src/user/preferences/preferences.test.ts (2 tests) 2269ms
   ✓ preferences > .get() 1259ms
   ✓ preferences > .set() 1010ms
 ✓ src/feed/feed.test.ts (1 test) 2573ms
   ✓ feed > .getFeed() 2572ms

 Test Files  4 passed (4)
      Tests  7 passed (7)
   Start at  16:01:16
   Duration  3.77s (transform 100ms, setup 0ms, collect 281ms, tests 7.57s, environment 0ms, prepare 152ms)

 PASS  Waiting for file changes...
       press h to show help, press q to quit

Node v22

better-sqlite3 error

$ node -v
v22.12.0

$ pnpm --filter @tsky/client test

> @tsky/[email protected] test /tmp/tsky/packages/client
> vitest


 DEV  v3.0.5 /tmp/tsky/packages/client

No test files found. You can change the file name pattern by pressing "p"

include: **/*.{test,spec}.?(c|m)[jt]s?(x)
exclude:  **/node_modules/**, **/dist/**, **/cypress/**, **/.{idea,git,cache,output,temp}/**, **/{karma,rollup,webpack,vite,vitest,jest,ava,babel,nyc,cypress,tsup,build,eslint,prettier}.config.*


⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Unhandled Error ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
Error: The module '/tmp/tsky/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/build/Release/better_sqlite3.node'
was compiled against a different Node.js version using
NODE_MODULE_VERSION 115. This version of Node.js requires
NODE_MODULE_VERSION 127. Please try re-compiling or re-installing
the module (for instance, using `npm rebuild` or `npm install`).
 ❯ Object..node node:internal/modules/cjs/loader:1734:18
 ❯ Module.load node:internal/modules/cjs/loader:1318:32
 ❯ Function._load node:internal/modules/cjs/loader:1128:12
 ❯ TracingChannel.traceSync node:diagnostics_channel:322:14
 ❯ wrapModuleLoad node:internal/modules/cjs/loader:219:24
 ❯ Module.require node:internal/modules/cjs/loader:1340:12
 ❯ require node:internal/modules/helpers:138:16
 ❯ bindings ../../node_modules/.pnpm/[email protected]/node_modules/bindings/bindings.js:112:48
 ❯ new Database ../../node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/lib/database.js:48:64
 ❯ Database.sqlite ../../node_modules/.pnpm/@[email protected]/node_modules/@atproto/pds/dist/db/db.js:37:26

⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
Serialized Error: { code: 'ERR_DLOPEN_FAILED' }
@shuuji3 shuuji3 self-assigned this Feb 15, 2025
@shuuji3 shuuji3 added the bug Something isn't working label Feb 15, 2025
@shuuji3
Copy link
Collaborator Author

shuuji3 commented Feb 15, 2025

By manually rebuilding better-sqlite3, I was able to run vitest on Node v22 but I think this shouldn't be done manually.

Rebuild command log
$ cd /tmp/tsky/node_modules/.pnpm/[email protected]/
$ pnpm run build-release

[email protected] build-release /tmp/tsky/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3
node-gyp rebuild --release

gyp info it worked if it ends with ok
gyp info using [email protected]
gyp info using [email protected] | linux | x64
gyp info find Python using Python version 3.13.2 found at "/home/shuuji3/.local/share/mise/installs/python/3.13.2/bin/python3"

gyp http GET https://nodejs.org/download/release/v22.12.0/node-v22.12.0-headers.tar.gz
gyp http 200 https://nodejs.org/download/release/v22.12.0/node-v22.12.0-headers.tar.gz
gyp http GET https://nodejs.org/download/release/v22.12.0/SHASUMS256.txt
gyp http 200 https://nodejs.org/download/release/v22.12.0/SHASUMS256.txt
gyp info spawn /home/shuuji3/.local/share/mise/installs/python/3.13.2/bin/python3
gyp info spawn args [
gyp info spawn args '/home/shuuji3/.local/share/pnpm/global/5/.pnpm/[email protected]/node_modules/node-gyp/gyp/gyp_main.py',
gyp info spawn args 'binding.gyp',
gyp info spawn args '-f',
gyp info spawn args 'make',
gyp info spawn args '-I',
gyp info spawn args '/tmp/tsky/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/build/config.gypi',
gyp info spawn args '-I',
gyp info spawn args '/home/shuuji3/.local/share/pnpm/global/5/.pnpm/[email protected]/node_modules/node-gyp/addon.gypi',
gyp info spawn args '-I',
gyp info spawn args '/home/shuuji3/.cache/node-gyp/22.12.0/include/node/common.gypi',
gyp info spawn args '-Dlibrary=shared_library',
gyp info spawn args '-Dvisibility=default',
gyp info spawn args '-Dnode_root_dir=/home/shuuji3/.cache/node-gyp/22.12.0',
gyp info spawn args '-Dnode_gyp_dir=/home/shuuji3/.local/share/pnpm/global/5/.pnpm/[email protected]/node_modules/node-gyp',
gyp info spawn args '-Dnode_lib_file=/home/shuuji3/.cache/node-gyp/22.12.0/<(target_arch)/node.lib',
gyp info spawn args '-Dmodule_root_dir=/tmp/tsky/node_modules/.pnpm/[email protected]/node_modules/better-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 'build',
gyp info spawn args '-Goutput_dir=.'
gyp info spawn args ]
gyp info spawn make
gyp info spawn args [ 'BUILDTYPE=Release', '-C', 'build' ]
make: Entering directory '/tmp/tsky/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/build'
TOUCH ba23eeee118cd63e16015df367567cb043fed872.intermediate
ACTION deps_sqlite3_gyp_locate_sqlite3_target_copy_builtin_sqlite3 ba23eeee118cd63e16015df367567cb043fed872.intermediate
TOUCH Release/obj.target/deps/locate_sqlite3.stamp
CC(target) Release/obj.target/sqlite3/gen/sqlite3/sqlite3.o
rm -f Release/obj.target/deps/sqlite3.a Release/obj.target/deps/sqlite3.a.ar-file-list; mkdir -p dirname Release/obj.target/deps/sqlite3.a
ar crs Release/obj.target/deps/sqlite3.a @Release/obj.target/deps/sqlite3.a.ar-file-list
COPY Release/sqlite3.a
CXX(target) Release/obj.target/better_sqlite3/src/better_sqlite3.o
In file included from ./src/better_sqlite3.lzz:11,
from ../src/better_sqlite3.cpp:4:
/home/shuuji3/.cache/node-gyp/22.12.0/include/node/node.h:1246:7: warning: cast between incompatible function types from ‘void ()(v8::Localv8::Object, v8::Localv8::Value, v8::Localv8::Context)’ to ‘node::addon_context_register_func’ {aka ‘void ()(v8::Localv8::Object, v8::Localv8::Value, v8::Localv8::Context, void*)’} [-Wcast-function-type]
1246 | (node::addon_context_register_func) (regfunc),
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/shuuji3/.cache/node-gyp/22.12.0/include/node/node.h:1264:3: note: in expansion of macro ‘NODE_MODULE_CONTEXT_AWARE_X’
1264 | NODE_MODULE_CONTEXT_AWARE_X(modname, regfunc, NULL, 0)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/shuuji3/.cache/node-gyp/22.12.0/include/node/node.h:1295:3: note: in expansion of macro ‘NODE_MODULE_CONTEXT_AWARE’
1295 | NODE_MODULE_CONTEXT_AWARE(NODE_GYP_MODULE_NAME,
| ^~~~~~~~~~~~~~~~~~~~~~~~~
./src/better_sqlite3.lzz:67:1: note: in expansion of macro ‘NODE_MODULE_INIT’
./src/objects/database.lzz: In static member function ‘static void Database::JS_new(const v8::FunctionCallbackInfov8::Value&)’:
./src/objects/database.lzz:180:21: warning: variable ‘status’ set but not used [-Wunused-but-set-variable]
./src/util/custom-table.lzz: At global scope:
./src/util/custom-table.lzz:45:9: warning: missing initializer for member ‘sqlite3_module::xIntegrity’ [-Wmissing-field-initializers]
./src/util/custom-table.lzz:72:9: warning: missing initializer for member ‘sqlite3_module::xIntegrity’ [-Wmissing-field-initializers]
./src/util/data.lzz: In function ‘v8::Localv8::Value Data::GetValueJS(v8::Isolate*, sqlite3_stmt*, int, bool)’:
./src/util/data.lzz:73:92: warning: this statement may fall through [-Wimplicit-fallthrough=]
./src/util/data.lzz:73:197: note: here
./src/util/data.lzz: In function ‘v8::Localv8::Value Data::GetValueJS(v8::Isolate*, sqlite3_value*, bool)’:
./src/util/data.lzz:77:81: warning: this statement may fall through [-Wimplicit-fallthrough=]
./src/util/data.lzz:77:175: note: here
SOLINK_MODULE(target) Release/obj.target/better_sqlite3.node
COPY Release/better_sqlite3.node
CC(target) Release/obj.target/test_extension/deps/test_extension.o
SOLINK_MODULE(target) Release/obj.target/test_extension.node
COPY Release/test_extension.node
rm ba23eeee118cd63e16015df367567cb043fed872.intermediate
make: Leaving directory '/tmp/tsky/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/build'
gyp info ok

$ pnpm --filter @tsky/client test

@tsky/[email protected] test /tmp/tsky/packages/client
vitest

DEV v3.0.5 /tmp/tsky/packages/client

🌐 Created test network:

  • pds: http://localhost:40263
  • plc: http://localhost:42477
    🙋 Created new account: @alice.test
    🙋 Created new account: @bob.test
    ✓ src/tsky/tsky.test.ts (2 tests) 734ms
    ✓ createAgent > can create agent for Alice 378ms
    ✓ createAgent > can resume from stored session 356ms
    ❯ src/user/profile.test.ts (2 tests | 2 failed) 940ms
    × profile > Getting alice's profile 687ms
    → agent.user.profile is not a function
    × profile > Getting bob's profile 252ms
    → agent.user.profile is not a function
    ✓ src/user/preferences/preferences.test.ts (2 tests) 2296ms
    ✓ preferences > .get() 1247ms
    ✓ preferences > .set() 1049ms
    ✓ src/feed/feed.test.ts (1 test) 2424ms
    ✓ feed > .getFeed() 2423ms
    ...

@shuuji3
Copy link
Collaborator Author

shuuji3 commented Feb 15, 2025

related issue: WiseLibs/better-sqlite3#146

@shuuji3
Copy link
Collaborator Author

shuuji3 commented Feb 15, 2025

It looks like @atproto/pds v0.4.94 (latest) depends on a bit older version of better-sqlite3 package v10.1.0 (latest: v11.8.1). This might be the cause.

> pnpm --filter @tsky/client why better-sqlite3
Legend: production dependency, optional only, dev only

@tsky/[email protected] /tmp/tsky/packages/client

devDependencies:
@atcute/internal-dev-env link:../internal/dev-env
└─┬ @atproto/pds 0.4.94
  └── better-sqlite3 10.1.0

@shuuji3 shuuji3 changed the title Test does not work with Node v20 Test does not work with Node v22 Feb 15, 2025
@shuuji3 shuuji3 linked a pull request Feb 15, 2025 that will close this issue
@shuuji3
Copy link
Collaborator Author

shuuji3 commented Feb 18, 2025

Here's what I investigated so far. In a happy path,

When we run vitest, this binary is automatically loaded when better-sqlite3 is used.

@shuuji3
Copy link
Collaborator Author

shuuji3 commented Feb 18, 2025

When we run vitest, we observed three similar errors but it seems all three errors have different causes.

1. compiled against a different Node.js version

⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Unhandled Error ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
Error: The module '/tmp/tsky/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/build/Release/better_sqlite3.node'
was compiled against a different Node.js version using
NODE_MODULE_VERSION 115. This version of Node.js requires
NODE_MODULE_VERSION 127. Please try re-compiling or re-installing
the module (for instance, using `npm rebuild` or `npm install`).

I encountered this when I run pnpm i with Node v20 and switched to Node v22 environment. This was because the better_sqlite3.node binary downloaded under node_modues file was only works with Node v20 (NODE_MODULE_VERSION 115), not for Node v22 (NODE_MODULE_VERSION 127).

This can be solved by installing the newer binary.

2. Could not locate the binding file.

> pnpm --filter @tsky/client test

> @tsky/[email protected] test /home/shuuji3/dev/tsky/packages/client
> vitest


 DEV  v3.0.5 /home/shuuji3/dev/tsky/packages/client

No test files found. You can change the file name pattern by pressing "p"

include: **/*.{test,spec}.?(c|m)[jt]s?(x)
exclude:  **/node_modules/**, **/dist/**, **/cypress/**, **/.{idea,git,cache,output,temp}/**, **/{karma,rollup,webpack,vite,vitest,jest,ava,babel,nyc,cypress,tsup,build,eslint,prettier}.config.*


⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Unhandled Error ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
Error: Could not locate the bindings file. Tried:
 → /home/shuuji3/dev/tsky/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/build/better_sqlite3.node
 → /home/shuuji3/dev/tsky/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/build/Debug/better_sqlite3.node
 → /home/shuuji3/dev/tsky/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/build/Release/better_sqlite3.node
 → /home/shuuji3/dev/tsky/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/out/Debug/better_sqlite3.node
 → /home/shuuji3/dev/tsky/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/Debug/better_sqlite3.node
 → /home/shuuji3/dev/tsky/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/out/Release/better_sqlite3.node
 → /home/shuuji3/dev/tsky/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/Release/better_sqlite3.node
 → /home/shuuji3/dev/tsky/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/build/default/better_sqlite3.node
 → /home/shuuji3/dev/tsky/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/compiled/22.14.0/linux/x64/better_sqlite3.node
 → /home/shuuji3/dev/tsky/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/addon-build/release/install-root/better_sqlite3.node
 → /home/shuuji3/dev/tsky/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/addon-build/debug/install-root/better_sqlite3.node
 → /home/shuuji3/dev/tsky/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/addon-build/default/install-root/better_sqlite3.node
 → /home/shuuji3/dev/tsky/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/lib/binding/node-v127-linux-x64/better_sqlite3.node
 ❯ bindings ../../node_modules/.pnpm/[email protected]/node_modules/bindings/bindings.js:126:9
 ❯ new Database ../../node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/lib/database.js:48:64
 ❯ Database.sqlite ../../node_modules/.pnpm/@[email protected]/node_modules/@atproto/pds/dist/db/db.js:37:26
 ❯ getDb ../../node_modules/.pnpm/@[email protected]/node_modules/@atproto/pds/dist/did-cache/db/index.js:28:26
 ❯ new DidSqliteCache ../../node_modules/.pnpm/@[email protected]/node_modules/@atproto/pds/dist/did-cache/index.js:37:34
 ❯ AppContext.fromConfig ../../node_modules/.pnpm/@[email protected]/node_modules/@atproto/pds/dist/context.js:247:26
 ❯ PDS.create ../../node_modules/.pnpm/@[email protected]/node_modules/@atproto/pds/dist/index.js:114:48
 ❯ TestPdsServer.create ../internal/dev-env/dist/pds.js:66:56
     64|     }
     65|     get ctx() {
     66|         return this.server.ctx;
       |                                                        ^
     67|     }
     68|     adminAuth() {
 ❯ TestNetwork.create ../internal/dev-env/dist/network.js:16:21
 ❯ Object.setup globalSetup.ts:7:13

⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
Serialized Error: { tries: [ '/home/shuuji3/dev/tsky/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/build/better_sqlite3.node', '/home/shuuji3/dev/tsky/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/build/Debug/better_sqlite3.node', '/home/shuuji3/dev/tsky/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/build/Release/better_sqlite3.node', '/home/shuuji3/dev/tsky/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/out/Debug/better_sqlite3.node', '/home/shuuji3/dev/tsky/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/Debug/better_sqlite3.node', '/home/shuuji3/dev/tsky/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/out/Release/better_sqlite3.node', '/home/shuuji3/dev/tsky/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/Release/better_sqlite3.node', '/home/shuuji3/dev/tsky/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/build/default/better_sqlite3.node', '/home/shuuji3/dev/tsky/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/compiled/22.14.0/linux/x64/better_sqlite3.node', '/home/shuuji3/dev/tsky/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/addon-build/release/install-root/better_sqlite3.node', '/home/shuuji3/dev/tsky/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/addon-build/debug/install-root/better_sqlite3.node', '/home/shuuji3/dev/tsky/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/addon-build/default/install-root/better_sqlite3.node', '/home/shuuji3/dev/tsky/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/lib/binding/node-v127-linux-x64/better_sqlite3.node' ] }

This error occurs when there is no binary file at the expected directory: /node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/build/Release/.

I guess this could happen when 1) pnpm/Node fails to run the install script or 2) prebuild-install fails silently, resulting in no better_sqlite3.node being downloaded or stored.

We saw this on Aditya's macOS machine with Node v22.

3. InternalServerError from PDS server at globalSetup:ts:17:3

We saw this on Aditya's Windows machine with Node v22. (https://discord.com/channels/1309441428061163551/1311240308092174376/1340211941804867605)

I couldn't replicate this error on my available environment (Linux and macOS) so not sure what causes this error.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant