Node.js var mqtt=require(';mqtt';);导致错误
我已经安装了“node.js”,然后从“node.js”命令行执行“npm install mqtt”来安装“mqtt.js”。现在要测试我正在尝试执行的“mqtt客户端”: var mqtt=require('mqtt')强> 这会导致错误的说法:Node.js var mqtt=require(';mqtt';);导致错误,node.js,mqtt,Node.js,Mqtt,我已经安装了“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 (mod
"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)"
“错误:找不到模块'mqtt'
在Function.Module.\u解析文件名(Module.js:338:15)
在Function.Module.\u加载(Module.js:280:25)
at Module.require(Module.js:364:17)
根据需要(模块js:380:17)
回复:1:12
在REPLServer.self.eval(repl.js:110:21)
回复js:249:20
在REPLServer.self.eval(repl.js:122:7)
在接口处。(repl.js:239:12)
位于Interface.EventEmitter.emit(events.js:95:17)”
有关需要Node.js模块的信息,请参阅本教程,该教程非常详细。顺便说一下,
createClient()
已被mqtt模块弃用,请改用connect()
如果您想要使用现成的在线代理测试MQTT客户机,请尝试。首先,您需要添加MQTT库。 如果服务器上安装了npm package manager,则应运行
npm install mqtt--save
有关详细信息:这是节点开发人员面临的常见问题。在Unix系统上工作时,有时它可能不允许您安装此类软件包。为此,您需要
sudo
权限。有时,软件包已安装,但仅安装在本地模块中,当您尝试从目录外部导入时,会发生错误。有时,您的编译器读取您的依赖项,但无法在其中找到此包,此时您也会面临此错误。
不管怎样,别担心。您只需按照以下步骤操作即可
npminit
初始化项目。这将初始化项目并生成package.json
文件npm install
命令尝试--save
。这将把依赖项保存在package.json
文件中。
e、 g.npm安装mqtt——保存
-g
标志全局安装。
可以在系统中访问全局安装的软件包。e、 g.npm安装mqtt-g
SUDO
权限才能全局安装它
我希望这会对您有所帮助。当您使用node.js的命令行时,它会搜索全局安装的节点模块,通常位于Linux机器中的/usr/lib/node_modules目录中。 运行npm安装时,节点模块将本地安装在启动节点终端的同一目录中。 如果希望访问节点终端中的节点模块,则需要运行npm install mqtt-g,其中-g表示全局安装。
通常Linux机器不允许普通用户访问/usr/lib/node_模块,因此最好将其作为
sudo npm install mqtt-g
运行。在node_modules
文件夹中是否有mqtt
文件夹,该文件夹与执行的*.js
文件位于同一路径上?在我的节点\模块文件夹。它只有一个文件夹npm。@Amberlamps:这是目录结构-C:\Program Files\nodejs\node\U modules\npm。在这里面,我有一个名为node_modules的文件夹。我已经使用npm安装命令安装/下载了express和mqtt。它已将文件夹放置在目录C:\Users\I055406\node\u modules中。您是否看到任何不匹配的地方。请容忍我,因为我是这个话题的新手。我应该将mqtt和mqtt项目放在node_modules文件夹中吗?该文件夹中有npm?请尝试将您的express和mqtt项目放在C:/Users/I055406/您的_项目/我面临的问题已得到解决。。。。现在var mqtt=require('mqtt');执行时没有问题。然而,我注意到我不能通过说var client=new mqtt.MQTTClient(1883,'127.0.0.1','ClientID')来创建客户机;它的结果是,在REPLServer.self.eval(repl.js:110:21)的repl:1:14处,REPLServer.self.eval(repl.js:122:7)的repl.js:249:20处,TypeError:undefined不是一个函数,但var client=mqtt.createClient()执行时没有问题。请您提供帮助。sudo:npm:command未找到,出现此错误