2014-10-15 4 views
1

На нашем сервере существует производственная версия платформы ведения блога Ghost с изменениями контента и стиля. Я загрузил папку приложения в блог на свой локальный компьютер. Инструкции кажутся прямолинейными.ОШИБКА: Невозможно найти модуль '../node-v11-darwin-x64/node_sqlite3.node'

Quickstart:
  1. npm install -g grunt-cli
  2. npm install
  3. grunt initgrunt prod, если вы хотите запустить привидение в режиме производства)
  4. npm start

Но когда я бегу grunt init я получаю следующие:

Running "shell:bower" (shell) task 

module.js:340 
    throw err; 
    ^
Error: Cannot find module 'q' 
at Function.Module._resolveFilename (module.js:338:15) 
at Function.Module._load (module.js:280:25) 
at Module.require (module.js:364:17) 
at require (module.js:380:17) 
at Object.<anonymous> (/Users/steelcollar/workspace/blog/node_modules/.bin/bower:6:9) 
at Module._compile (module.js:456:26) 
at Object.Module._extensions..js (module.js:474:10) 
at Module.load (module.js:356:32) 
at Function.Module._load (module.js:312:12) 
at Function.Module.runMain (module.js:497:10) 
Warning: Command failed: 
module.js:340 
    throw err; 
    ^
Error: Cannot find module 'q' 
at Function.Module._resolveFilename (module.js:338:15) 
at Function.Module._load (module.js:280:25) 
at Module.require (module.js:364:17) 
at require (module.js:380:17) 
at Object.<anonymous> (/Users/steelcollar/workspace/blog/node_modules/.bin/bower:6:9) 
at Module._compile (module.js:456:26) 
at Object.Module._extensions..js (module.js:474:10) 
at Module.load (module.js:356:32) 
at Function.Module._load (module.js:312:12) 
at Function.Module.runMain (module.js:497:10) 
Use --force to continue. 

В конце концов, бег npm start приводит к:

ERROR: Cannot find module '../node_modules/sqlite3/lib/binding/node-v11-darwin-x64/node_sqlite3.node'

У меня есть становой и хрюкать установлен. Я вообще не изменил код. Где могла быть проблема?

Update:

По структуре папок я загружал, путь ../node-v11-linux-x64/node_sqlite3.node' вместо ../node-v11-darwin-x64/node_sqlite3.node'.

Я получаю эту ошибку, если изменить имя папки с darwin к linux хотя:

ERROR: dlopen(../node_modules/sqlite3/lib/binding/node-v11-darwin-x64/node_sqlite3.node, 1): no suitable image found. Did find: 
../node_modules/sqlite3/lib/binding/node-v11-darwin-x64/node_sqlite3.node: unknown file type, first eight bytes: 0x7F 0x45 0x4C 0x46 0x02 0x01 0x01 0x00 
+0

Вы используете это на Linux или OS X? – loganfsmyth

+0

Я запускаю это на OSX. – user1584575

+0

Похоже, что по какой-то причине он установил и скомпилировал двоичный файл для Linux вместо OSX. Я понятия не имею, почему это было бы сделано. – loganfsmyth

ответ

4

Привет У меня была такая же ситуация, и это, как я ее решил:

На локальном компьютере , просто npm uninstall sqlite3 и npm install sqlite3 --save, и он должен нормально работать.

Я не уверен, почему это так. Но я думаю, что это связано с тем, что версии sqlite3 для каждой ОС разные, просто загрузка каталога приложения с сервера на локальный компьютер приведет к проблеме несовместимости, поэтому просто разрешите npm решить, какую версию sqlite3 установить.

0

У меня такая же ошибка. Это не сработало:

yarn remove sqlite3 && yarn add sqlite3 

Тогда я попробовал это, что сделал:

npm uninstall sqlite3 && npm install sqlite3 
Смежные вопросы