Node.js错误:找不到模块';蓝鸟';
当我尝试这个时,它抛出了一个错误,我如何解决它Node.js错误:找不到模块';蓝鸟';,node.js,hexo,Node.js,Hexo,当我尝试这个时,它抛出了一个错误,我如何解决它 $ hexo generate ERROR Error: Cannot find module 'bluebird' 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 (mod
$ hexo generate
ERROR Error: Cannot find module 'bluebird'
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/lihz/blog/node_modules/hexo/lib/hexo/index.js:3:15)
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 Module.require (module.js:364:17)
at require (module.js:380:17)
at /usr/local/lib/node_modules/hexo-cli/lib/index.js:73:18
at tryCatcher (/usr/local/lib/node_modules/hexo-cli/node_modules/bluebird/js/main/util.js:26:23)
at Promise._settlePromiseFromHandler (/usr/local/lib/node_modules/hexo-cli/node_modules/bluebird/js/main/promise.js:489:31)
at Promise._settlePromiseAt (/usr/local/lib/node_modules/hexo-cli/node_modules/bluebird/js/main/promise.js:565:18)
at Promise._settlePromises (/usr/local/lib/node_modules/hexo-cli/node_modules/bluebird/js/main/promise.js:681:14)
Unhandled rejection TypeError: Cannot call method 'then' of undefined
at /usr/local/lib/node_modules/hexo-cli/lib/index.js:82:22
at tryCatcher (/usr/local/lib/node_modules/hexo-cli/node_modules/bluebird/js/main/util.js:26:23)
at Promise._settlePromiseFromHandler (/usr/local/lib/node_modules/hexo-cli/node_modules/bluebird/js/main/promise.js:489:31)
at Promise._settlePromiseAt (/usr/local/lib/node_modules/hexo-cli/node_modules/bluebird/js/main/promise.js:565:18)
at Async._drainQueue (/usr/local/lib/node_modules/hexo-cli/node_modules/bluebird/js/main/async.js:128:12)
at Async._drainQueues (/usr/local/lib/node_modules/hexo-cli/node_modules/bluebird/js/main/async.js:133:10)
at Async.drainQueues (/usr/local/lib/node_modules/hexo-cli/node_modules/bluebird/js/main/async.js:15:14)
at process._tickCallback (node.js:442:13)
$hexo生成
错误:找不到模块“bluebird”
在Function.Module.\u解析文件名(Module.js:338:15)
在Function.Module.\u加载(Module.js:280:25)
at Module.require(Module.js:364:17)
根据需要(模块js:380:17)
反对。(/Users/lihz/blog/node_modules/hexo/lib/hexo/index.js:3:15)
在模块处编译(Module.js:456:26)
在Object.Module.\u extensions..js(Module.js:474:10)
在Module.load(Module.js:356:32)
在Function.Module.\u加载(Module.js:312:12)
at Module.require(Module.js:364:17)
根据需要(模块js:380:17)
at/usr/local/lib/node_modules/hexo cli/lib/index.js:73:18
在tryCatcher(/usr/local/lib/node_modules/hexo cli/node_modules/bluebird/js/main/util.js:26:23)
承诺时,结算程序(usr/local/lib/node_umodules/heso cli/node_umodules/bluerd/js/main/Promise.js:489-31)
在Promise.\u结算Promise(/usr/local/lib/node\u modules/hexo cli/node\u modules/bluebird/js/main/Promise.js:565:18)
在Promise._结算Promises(/usr/local/lib/node_modules/hexo cli/node_modules/bluebird/js/main/Promise.js:681:14)
未处理的拒绝类型错误:无法调用未定义的方法“then”
at/usr/local/lib/node_modules/hexo cli/lib/index.js:82:22
在tryCatcher(/usr/local/lib/node_modules/hexo cli/node_modules/bluebird/js/main/util.js:26:23)
在Promise._settlePromiseFromHandler(/usr/local/lib/node_modules/hexo cli/node_modules/bluebird/js/main/Promise.js:489:31)
在Promise.\u结算Promise(/usr/local/lib/node\u modules/hexo cli/node\u modules/bluebird/js/main/Promise.js:565:18)
异步绘制队列(/usr/local/lib/node\u modules/hexo cli/node\u modules/bluebird/js/main/Async.js:128:12)
异步绘制队列(/usr/local/lib/node\u modules/hexo cli/node\u modules/bluebird/js/main/Async.js:133:10)
在Async.drainQueues(/usr/local/lib/node_modules/hexo cli/node_modules/bluebird/js/main/Async.js:15:14)
在进程中调用(node.js:442:13)
您可能需要在本地安装bluebird软件包。试一试
npm install --save bluebird
我也有同样的问题。它看起来好像是
bluebird
没有下载它的'index.js
,它将所有函数作为一个模块公开
如果将cd
放入node\u modules/bluebird
中,您可能会看到它确实存在,但没有index.js
。因为没有index.js
节点,所以不知道如何要求bluebird
以下是一些可以尝试的项目:
registry=https://registry.npmjs.org/
@dog:registry=https://npm.dog.com/
@dog:always-auth=true
//npm.dog.com/:_authToken="XXXXXXXXXXXX"
@dog:cafile=/Users/dogboy/.ssh/dogtown.crt
我通常使用注册表来安装模块。但我在下载hexo cli时忘记了这一点。当我运行hexo时,它会响应我“找不到蓝鸟”,即使它已经安装 我的解决办法是: 使用注册表再次安装hexo cli
那么一切都好了 在我的例子中,Bluebird文件夹名为“Bluebird”,我将其导入为“Bluebird”(大写字母“B”),因此我将导入字符串更改为“Bluebird”(我在linux上工作)
希望这对某人有所帮助。在我的例子中,当我在错误的目录中安装bluebird时,出现了这个错误 当我从我的主目录下载蓝鸟的时候
myuser@raspberrypi:~$sudo npm安装--保存蓝鸟
它安装在~/node\u模块中(这样做我得到了一些警告),我必须使用
var Promise = require('/usr/lib/node_modules/bluebird');
var Promise = require('/usr/lib/node_modules/bluebird');
当我使用从/usr/lib目录安装Bluebird时
myuser@raspberrypi:/usr/lib$sudo npm安装--保存蓝鸟
(无警告),它安装在/usr/lib/node_modules
(位于现有的npm
目录旁边),我必须使用
var Promise = require('/usr/lib/node_modules/bluebird');
var Promise = require('/usr/lib/node_modules/bluebird');
因此,请确保您知道模块的安装位置,并相应地参考它。一般来说,require
在nodejs中查找模块的描述。您曾经解决过这个问题吗?您解决了吗?