4

I used electron-vue to generate the base for my project. I can get my application to launch, however when I attempt to run yarn test, I get the following error:

Child html-webpack-plugin for "index.html":
                                   Asset      Size  Chunks             Chunk Names
                              index.html    568 kB       1             
    db649fa959425ff07a09.hot-update.json  44 bytes          [emitted]  
       [0] ./node_modules/html-webpack-plugin/lib/loader.js!./src/index.ejs 1.46 kB {1} [built]
       [1] ./node_modules/lodash/lodash.js 540 kB {1} [built]
       [2] (webpack)/buildin/module.js 517 bytes {1} [built]
19 01 2018 02:30:17.603:INFO [karma]: Karma v1.7.1 server started at http://0.0.0.0:9876/
19 01 2018 02:30:17.605:INFO [launcher]: Launching browser visibleElectron with unlimited concurrency
19 01 2018 02:30:17.618:INFO [launcher]: Starting browser Electron
19 01 2018 02:30:19.579:INFO [Electron 1.7.9 (Node 7.9.0)]: Connected on socket XnzwV7bi3QYEDoyCAAAA with id 16128747
Electron 1.7.9 (Node 7.9.0) ERROR
  Uncaught Error: Could not locate the bindings file. Tried:
   → /home/cassius/workspace/tagister/node_modules/better-sqlite3/build/better_sqlite3.node
   → /home/cassius/workspace/tagister/node_modules/better-sqlite3/build/Debug/better_sqlite3.node
   → /home/cassius/workspace/tagister/node_modules/better-sqlite3/build/Release/better_sqlite3.node
   → /home/cassius/workspace/tagister/node_modules/better-sqlite3/out/Debug/better_sqlite3.node
   → /home/cassius/workspace/tagister/node_modules/better-sqlite3/Debug/better_sqlite3.node
   → /home/cassius/workspace/tagister/node_modules/better-sqlite3/out/Release/better_sqlite3.node
   → /home/cassius/workspace/tagister/node_modules/better-sqlite3/Release/better_sqlite3.node
   → /home/cassius/workspace/tagister/node_modules/better-sqlite3/build/default/better_sqlite3.node
   → /home/cassius/workspace/tagister/node_modules/better-sqlite3/compiled/7.9.0/linux/x64/better_sqlite3.node
  at webpack:///node_modules/bindings/bindings.js:96:0 <- index.js:30116

Electron 1.7.9 (Node 7.9.0): Executed 0 of 0 ERROR (1.957 secs / 0 secs)

The bindings do actually exist:

find $HOME/workspace/tagister/node_modules/better-sqlite3/ -name "*node"
/home/cassius/workspace/tagister/node_modules/better-sqlite3/build/Release/test_extension.node
/home/cassius/workspace/tagister/node_modules/better-sqlite3/build/Release/better_sqlite3.node
/home/cassius/workspace/tagister/node_modules/better-sqlite3/build/Release/obj.target/test_extension.node
/home/cassius/workspace/tagister/node_modules/better-sqlite3/build/Release/obj.target/better_sqlite3.node

To get better-sqlite3 to work in development mode, I did have to add "postinstall": "electron-builder install-app-deps" to my package.json. I don't understand why the tests are failing when the dependent modules are clearly there.

I thought this might have been a bug and added an issue to electron's github but there haven't been any comments on it.

This can be reproduced locally with the following:

git clone https://gitlab.com/djsumdog/tagster.git
git checkout ca712c4c
yarn
yarn test
tk421
  • 5,775
  • 6
  • 23
  • 34
djsumdog
  • 2,560
  • 1
  • 29
  • 55

0 Answers0