# Error: cannot find module mqtt

**URL:** https://discourse.nodered.org/t/error-cannot-find-module-mqtt/25493
**Category:** General
**Created:** [25 April 2020 16:58 UTC](https://discourse.nodered.org/t/error-cannot-find-module-mqtt/25493 "2020-04-25T16:58:48Z")
**Posts on this page:** 15
**Page:** 1

<div class="post-metadata">

### Author: ![edoardottt](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/edoardottt/32/20179_2.png) [@edoardottt](https://discourse.nodered.org/u/edoardottt)
#### Post date: [25 April 2020 16:58 UTC](https://discourse.nodered.org/t/error-cannot-find-module-mqtt/25493/1 "2020-04-25T16:58:48Z")

</div>

Sorry if the question could be stupid, but I don't know how to solve this.  
I recently upgraded my OS to new Lubuntu version 20.04 and I lost my files.  
I re-installed Node-RED and now I don't have 1.0.5, but 1.0.6 version.  
The problem is that now when I use my custom node that use MQTT javascript library, I get the error : cannot find module mqtt.  
My node-red was installed into /usr/local/lib/node\_modules/node-red/ and the .nod-red folder into /home/USER.  
Why now when I use a custom node, I get this error? Before these changes all worked perfectly.

EDIT: Also if I install mqtt globally, I get the same error.

Thanks.

---

<div class="post-metadata">

### Author: ![Colin](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/colin/32/17040_2.png) [@Colin](https://discourse.nodered.org/u/Colin)
#### Post date: [25 April 2020 19:26 UTC](https://discourse.nodered.org/t/error-cannot-find-module-mqtt/25493/2 "2020-04-25T19:26:01Z")

</div>

Is that a javascript library or a nodejs module?  
If it is a javascript library where does it come from?

---

<div class="post-metadata">

### Author: ![edoardottt](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/edoardottt/32/20179_2.png) [@edoardottt](https://discourse.nodered.org/u/edoardottt)
#### Post date: [25 April 2020 19:52 UTC](https://discourse.nodered.org/t/error-cannot-find-module-mqtt/25493/3 "2020-04-25T19:52:42Z")

</div>

> **[mqtt](https://www.npmjs.com/package/mqtt)**
>
> A library for the MQTT protocol

---

<div class="post-metadata">

### Author: ![Colin](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/colin/32/17040_2.png) [@Colin](https://discourse.nodered.org/u/Colin)
#### Post date: [25 April 2020 20:13 UTC](https://discourse.nodered.org/t/error-cannot-find-module-mqtt/25493/4 "2020-04-25T20:13:53Z")

</div>

What do you see if you run, from your .node-red folder  
`npm list mqtt`  
What version of nodejs are you running?  
`node -v`

---

<div class="post-metadata">

### Author: ![edoardottt](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/edoardottt/32/20179_2.png) [@edoardottt](https://discourse.nodered.org/u/edoardottt)
#### Post date: [25 April 2020 20:21 UTC](https://discourse.nodered.org/t/error-cannot-find-module-mqtt/25493/5 "2020-04-25T20:21:11Z")

</div>

Inside .node-red folder the result is: └── mqtt@3.0.0  
node -v output: v10.19.0

---

<div class="post-metadata">

### Author: ![knolleary](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/knolleary/32/3_2.png) [@knolleary](https://discourse.nodered.org/u/knolleary)
#### Post date: [25 April 2020 20:24 UTC](https://discourse.nodered.org/t/error-cannot-find-module-mqtt/25493/6 "2020-04-25T20:24:10Z")

</div>

> [@edoardottt](#):
>
> Why now when I use a custom node, I get this error?

Where/how is your custom node installed? Does it list `mqtt` as a dependency in its package.json?

---

<div class="post-metadata">

### Author: ![edoardottt](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/edoardottt/32/20179_2.png) [@edoardottt](https://discourse.nodered.org/u/edoardottt)
#### Post date: [25 April 2020 20:28 UTC](https://discourse.nodered.org/t/error-cannot-find-module-mqtt/25493/7 "2020-04-25T20:28:17Z")

</div>

/home/edoardottt/Desktop/my-Node-RED/custom/node-red-contrib-custom-folder-example  
This is the location, before starting node-red, i type npm install {this\_path} inside .node-red folder and the output is ok, all right.  
No, there isn't the dependency...😕 but in node-red1.0.5 it worked. I'm adding this.

---

<div class="post-metadata">

### Author: ![Colin](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/colin/32/17040_2.png) [@Colin](https://discourse.nodered.org/u/Colin)
#### Post date: [25 April 2020 20:33 UTC](https://discourse.nodered.org/t/error-cannot-find-module-mqtt/25493/8 "2020-04-25T20:33:57Z")

</div>

> [@edoardottt](#):
>
> Inside .node-red folder the result is: └── mqtt@3.0.0

I notice that node red pulls in version 2.18.8, I don't know whether it is significant that it does not use v3. Have you now got multiple versions installed? What does  
`npm list -g mqtt`  
show? However Nick is right. You should specify a dependency in your custom node, then it would install the version you require automatically.

---

<div class="post-metadata">

### Author: ![edoardottt](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/edoardottt/32/20179_2.png) [@edoardottt](https://discourse.nodered.org/u/edoardottt)
#### Post date: [25 April 2020 20:37 UTC](https://discourse.nodered.org/t/error-cannot-find-module-mqtt/25493/9 "2020-04-25T20:37:23Z")

</div>

Now it's working. But I think i'm doing something wrong. Now in every custom node it downloads a big node\_modules folder...How is it possible? It's a waste of space. If it depends on a specific module why not have a single point of shared node\_modules?  
Obviously, I downloaded mqtt with global mode enabled, but why it has to download the same module n times?

---

<div class="post-metadata">

### Author: ![Colin](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/colin/32/17040_2.png) [@Colin](https://discourse.nodered.org/u/Colin)
#### Post date: [25 April 2020 20:40 UTC](https://discourse.nodered.org/t/error-cannot-find-module-mqtt/25493/10 "2020-04-25T20:40:05Z")

</div>

How did you install nodejs and npm? npm used to do that I think, but now it flattens things out so it shouldn't happen. I think.  
What version of npm are you running?  
`npm -v`

---

<div class="post-metadata">

### Author: ![edoardottt](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/edoardottt/32/20179_2.png) [@edoardottt](https://discourse.nodered.org/u/edoardottt)
#### Post date: [25 April 2020 20:42 UTC](https://discourse.nodered.org/t/error-cannot-find-module-mqtt/25493/11 "2020-04-25T20:42:05Z")

</div>

version 6.14.4

---

<div class="post-metadata">

### Author: ![Colin](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/colin/32/17040_2.png) [@Colin](https://discourse.nodered.org/u/Colin)
#### Post date: [25 April 2020 20:46 UTC](https://discourse.nodered.org/t/error-cannot-find-module-mqtt/25493/12 "2020-04-25T20:46:00Z")

</div>

> [@Colin](#):
>
> How did you install nodejs and npm

You didn't tell us that bit.

---

<div class="post-metadata">

### Author: ![edoardottt](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/edoardottt/32/20179_2.png) [@edoardottt](https://discourse.nodered.org/u/edoardottt)
#### Post date: [25 April 2020 20:49 UTC](https://discourse.nodered.org/t/error-cannot-find-module-mqtt/25493/13 "2020-04-25T20:49:06Z")

</div>

Sorry, both by apt. sudo apt install nodejs & npm. Both are on their newest version.

---

<div class="post-metadata">

### Author: ![Colin](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/colin/32/17040_2.png) [@Colin](https://discourse.nodered.org/u/Colin)
#### Post date: [25 April 2020 21:07 UTC](https://discourse.nodered.org/t/error-cannot-find-module-mqtt/25493/14 "2020-04-25T21:07:14Z")

</div>

> [@edoardottt](#):
>
> Both are on their newest version.

Actually 12.x is the newest LTS version and the bleeding edge (not recommended) is 13.x, but 10.x is ok. I don't know whether the versions from the Lubuntu repository are ok, I use the recommended install script for Ubuntu which installs from the nodesource repository. However I have no reason to think that the versions you have should not be ok. Someone more knowledgeable would have to comment.

---

<div class="post-metadata">

### Author: ![system](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/1X/d073cd938eafa2e558d7c2cd59003b3ef4963033.png) [@system](https://discourse.nodered.org/u/system)
#### Post date: [24 June 2020 21:07 UTC](https://discourse.nodered.org/t/error-cannot-find-module-mqtt/25493/15 "2020-06-24T21:07:16Z")

</div>

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.
