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

  1. Install Ghost@0.7.1 (or earlier) on Windows 10 x64
  2. Add Ghost as an Express middleware
  3. 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)

Most upvoted comments

try:

npm install sqlite3 --build-from-source

That 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:

We have a troubleshooting guide http://support.ghost.org/troubleshooting/ for install issues. The most important/useful bit of which is general steps for recovering from a failure http://support.ghost.org/troubleshooting/#fix-for-general-npm-install-errors .

Most of the time if an install fails and you try again using these steps, then you will find it works because the issue is with the reliability of npm. If you get repeated failures after retrying with these steps, then likely there is another problem with your environment and you can use the relevant part of the troubleshooting guide to get ideas for how to resolve these problems.

If you need help, please use slack https://ghost.org/slack rather than github as it’s much easier to back-and-forth there than it is on GitHub.

— You are receiving this because you commented. Reply to this email directly or view it on GitHub https://github.com/TryGhost/Ghost/issues/5911#issuecomment-200329357

Hi, I still has same error after npm install sqlite3 --build-from-source using Mac os x El Capitan. Any other idea?

rm -Rf node_modules/sqlite3 and npm install worked 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.