错误:找不到模块'../node-v11-darwin-x64/node_sqlite3.node'
在我们的服务器上有一个生产版本的Ghost博客平台,其内容和样式发生了变化。 我将博客的应用程序文件夹下载到本地机器上。 说明似乎很简单。
快速开始:
npm install -g grunt-cli
-
npm install
-
grunt init
(如果你想在生产模式下运行Ghost,可以使用grunt prod
) -
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'
我有凉亭和咕噜安装。 我根本没有改变代码。 问题在哪里?
更新:
根据我下载的文件夹结构,path是../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
嗨,我有同样的情况,这是我如何解决它:
在本地计算机上,只需要npm uninstall sqlite3
和npm install sqlite3 --save
,现在应该可以正常工作了。
我不确定为什么这样。 但是我认为这是因为每个操作系统的sqlite3版本都不一样,只是从服务器下载应用程序目录到本地计算机将导致不兼容问题,所以让npm决定安装哪个版本的sqlite3。
我得到了同样的错误。 这不起作用:
yarn remove sqlite3 && yarn add sqlite3
然后我试了这个,做了:
npm uninstall sqlite3 && npm install sqlite3