Ghost: Cannot find module node-v44-win32-x64\node_sqlite3.node
When running Ghost I get an error about a node_sqlite3 module not found
Issue Summary
I’ve been getting an error on Windows 8 & 10 since Ghost@0.5.x about a node_sqlite3 module not found. I am using Ghost as middleware on Express.js. I’ve tried looking at solutions on the net, but it hasn’t worked. I upgraded to Ghost@latest[0.7.1] to see if problem goes away, but it still persists.
Steps to Reproduce
- Install Ghost@0.7.1 (or earlier) on Windows 10 x64
- Add Ghost as an Express middleware
- Run Express app, and observe crash (error details below)
I have uninstalled and reinstalled Ghost, and still get the same problem. my --msvs_version to build gyp modules is 2013, which doesn’t throw errors, so I’m not sure if that’s the problem.
Technical details:
- Ghost Version: 0.7.1
- Client OS: Windows 10 x64
- Server OS: Ubuntu 14.04 x64
- Node Version: 0.12.4, iojs 2.3.3
- Browser: Chrome 47.xxx
- Database: SQLite
Unhandled rejection Error: Cannot find module '[REDACTED]\node_modules\ghost\node_modules\sqlite3\lib\binding\node-v44-win32-x64\node_sqlite3.node'
at Function.Module._resolveFilename (module.js:336:15)
at Function.Module._load (module.js:286:25)
at Module.require (module.js:365:17)
at require (module.js:384:17)
at Object.<anonymous> ([REDACTED]\node_modules\ghost\node_modules\sqlite3\lib\sqlite3.js:4:15)
at Module._compile (module.js:430:26)
at Object.Module._extensions..js (module.js:448:10)
at Module.load (module.js:355:32)
at Function.Module._load (module.js:310:12)
at Module.require (module.js:365:17)
at require (module.js:384:17)
at Client_SQLite3.initDriver ([REDACTED]\node_modules\ghost\node_modules\knex\lib\dialects\sqlite3\index.js:41:24)
at new Client_SQLite3 ([REDACTED]\node_modules\ghost\node_modules\knex\lib\dialects\sqlite3\index.js:15:10)
at Knex.initialize ([REDACTED]\node_modules\ghost\node_modules\knex\knex.js:109:15)
at Knex ([REDACTED]\node_modules\ghost\node_modules\knex\knex.js:13:26)
at ConfigManager.set ([REDACTED]\node_modules\ghost\core\server\config\index.js:153:24)
at ConfigManager.init ([REDACTED]\node_modules\ghost\core\server\config\index.js:76:10)
at [REDACTED]\node_modules\ghost\core\server\config\index.js:267:30
at tryCatcher ([REDACTED]\node_modules\ghost\node_modules\bluebird\js\main\util.js:24:31)
at Promise._settlePromiseFromHandler ([REDACTED]\node_modules\ghost\node_modules\bluebird\js\main\promise.js:454:31)
at Promise._settlePromiseAt ([REDACTED]\node_modules\ghost\node_modules\bluebird\js\main\promise.js:530:18)
at Promise._settlePromises ([REDACTED]\node_modules\ghost\node_modules\bluebird\js\main\promise.js:646:14)
at Async._drainQueue ([REDACTED]\node_modules\ghost\node_modules\bluebird\js\main\async.js:177:16)
at Async._drainQueues ([REDACTED]\node_modules\ghost\node_modules\bluebird\js\main\async.js:187:10)
at Immediate.Async.drainQueues [as _onImmediate] ([REDACTED]\node_modules\ghost\node_modules\bluebird\js\main\async.js:15:14)
at processImmediate [as _immediateCallback] (timers.js:371:17)
About this issue
- Original URL
- State: closed
- Created 9 years ago
- Comments: 20 (4 by maintainers)
try:
npm install sqlite3 --build-from-sourceThat fixed my sqlite3 install.
I found the answer on stackoverflow, cannot recall right now. ᐧ
On Wed, Mar 23, 2016 at 11:35 PM, Hannah Wolfe notifications@github.com wrote:
Hi, I still has same error after
npm install sqlite3 --build-from-sourceusing Mac os x El Capitan. Any other idea?rm -Rf node_modules/sqlite3andnpm installworked for me (running an old v0.5.0 instance of ghost)Ghost supports node version 4.2.0 also. I was having this error "ERROR: Cannot find module ‘…/…/node_modules/sqlite3/lib/binding/node-v46-linux-x64/node_sqlite3.node’ " .
I just installed node version 4.2.0 using nvm and installed sqlite3. The “binding” folder inside sqlite3 got a node-v47 folder instead of v46. So I just renamed the folder to v46 and downloaded the node_sqlite3.node file from here http://www.unifieddigital.com/node_modules/sqlite3/lib/binding/node-v46-linux-x64/ and replaced the file.
THIS WORKED FOR ME.!!!
@Chennaiah1990 Hey it’s the same problem, just rename your directory to “node-v46-linux-x64” and inside that directory replace the “node_sqlite3.node” file with the file available here http://www.unifieddigital.com/node_modules/sqlite3/lib/binding/node-v46-linux-x64/
Not sure if this relevant to your issue. But in my package.json I added “sqlite3”: “^3.1.1” during npm install it installs sqlite3. It however does not create lib/binaries directory. Error: Cannot find module ‘C:\Users\ivan\Documents\clone\eye-of-ra\node_modules
sqlite3\lib\binding\node-v47-win32-x64\node_sqlite3.node’ Solution: delete sqlite3 folder and run npm install sqlite3.