【发布时间】:2013-09-19 14:06:25
【问题描述】:
我已经安装了“node.js”,然后从“node.js”命令行执行“npm install mqtt”来安装“mqtt.js”。现在要测试我正在尝试执行的“mqtt 客户端”: var mqtt = require('mqtt'); 这会导致错误提示:
"Error: Cannot find module 'mqtt'
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 repl:1:12
at REPLServer.self.eval (repl.js:110:21)
at repl.js:249:20
at REPLServer.self.eval (repl.js:122:7)
at Interface.<anonymous> (repl.js:239:12)
at Interface.EventEmitter.emit (events.js:95:17)"
【问题讨论】:
-
您的
node_modules文件夹中是否有一个mqtt文件夹与您执行的*.js文件位于同一路径? -
我的 node_modules 文件夹中没有名为 mqtt 的文件夹。它只有一个文件夹 npm。
-
@Amberlamps :这是目录结构 - C:\Program Files\nodejs\node_modules\npm 。在这里面我有一个名为 node_modules 的文件夹。我已经使用 npm install 命令安装/下载了 express 和 mqtt。它已将该文件夹放在目录 C:\Users\I055406\node_modules 中。你在这里看到任何不匹配的地方。请耐心等待,因为我是这个主题的新手。我应该把 mqtt 和 express 放在里面有 npm 的 node_modules 文件夹中吗?
-
试着把你的express和mqtt项目放在C:/Users/I055406/your_project/
-
我面临的问题得到了解决......现在 var mqtt = require('mqtt');执行没有问题。但是我注意到我不能通过说 var client = new mqtt.MQTTClient(1883, '127.0.0.1', 'ClientID'); 创建客户端。它会导致错误提示 TypeError: undefined is not a function at repl:1:14 at REPLServer.self.eval (repl.js:110:21) at repl.js:249:20 at REPLServer.self.eval (repl. js:122:7) 但 var client = mqtt.createClient() 执行没有问题。你能帮忙吗?