# Removing module from NodeRed

**URL:** <https://discourse.nodered.org/t/removing-module-from-nodered/99686>\
**Category:** General\
**Created:** [15 November 2025 00:09 UTC](https://discourse.nodered.org/t/removing-module-from-nodered/99686 "2025-11-15T00:09:12Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![Sirhc](https://avatars.discourse-cdn.com/v4/letter/s/b77776/32.png) [@Sirhc](https://discourse.nodered.org/u/Sirhc)\
**Post date:** [15 November 2025 00:09 UTC](https://discourse.nodered.org/t/removing-module-from-nodered/99686/1 "2025-11-15T00:09:12Z")

</div>

Hello

I have imported a module in nodered, see screenshot below. I no longer use this module, how do I completely delete it from Nodered?

 ![image](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/7/8/7812dde430a5249a4ffb9732c11cd7d4f1311df2.png)

---

<div class="post-metadata">

**Author:** ![TotallyInformation](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/totallyinformation/32/31_2.png) [@TotallyInformation](https://discourse.nodered.org/u/TotallyInformation)\
**Post date:** [15 November 2025 00:32 UTC](https://discourse.nodered.org/t/removing-module-from-nodered/99686/2 "2025-11-15T00:32:02Z")

</div>

If you remove that entry and re-deploy, does it not remove the module?

If not, access a server terminal then:

```bash
cd ~/.node-red
npm remove node-rainbird

```

---

<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:** [15 November 2025 09:27 UTC](https://discourse.nodered.org/t/removing-module-from-nodered/99686/3 "2025-11-15T09:27:50Z")

</div>

After running the npm remove command, restart node-red.

---

<div class="post-metadata">

**Author:** ![Sirhc](https://avatars.discourse-cdn.com/v4/letter/s/b77776/32.png) [@Sirhc](https://discourse.nodered.org/u/Sirhc)\
**Post date:** [15 November 2025 11:32 UTC](https://discourse.nodered.org/t/removing-module-from-nodered/99686/4 "2025-11-15T11:32:59Z")

</div>

Thanks - I am just trying to understand a bit more about this.

I downloaded this into my pallete [node-red-contrib-rainbird (node) - Node-RED](https://flows.nodered.org/node/node-red-contrib-rainbird)

On that link it states that "This package uses a modified version of [node-rainbird] ([GitHub - bbreukelen/node-rainbird: Rainbird controller in Node.js](https://github.com/bbreukelen/node-rainbird))". This is the class that I was using originally but I do not use it in my flow anymore, since I've now downloaded that node.

In the npm list I can see both the original node-rainbird (original post) and the new node node-red-contrib-rainbird.

Also in package.json I can still see "node-rainbird" as a dependency along with the new node I downloaded ("node-red-contrib-rainbird").

Will downloading the new node automatically install node-rainbird since it states that it is based on it? Or am I safe to remove node-rainbird using npm remove node-rainbird. I don't want to break the new node I've downloaded since I've spent 4 hours creating flows with it.

---

<div class="post-metadata">

**Author:** ![TotallyInformation](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/totallyinformation/32/31_2.png) [@TotallyInformation](https://discourse.nodered.org/u/TotallyInformation)\
**Post date:** [15 November 2025 12:24 UTC](https://discourse.nodered.org/t/removing-module-from-nodered/99686/5 "2025-11-15T12:24:28Z")

</div>

`node-rainbird` is a node.js package, not specific to node-red. And somewhat confusingly, not a "node" in a node-red sense.

The contrib package, if it relies on a node.js package, will self-install that package for you as a dependency and npm will remove it for you when you remove the contrib package - as long as it isn't being used by another package.

If you ever get into a complete mess with node-red packages, use a command prompt, go to the `~/.node-red` (AKA "userDir") folder, stop node-red and delete (or rename if you are paranoid 😉 ) the `node_modules` folder. Then check that the `dependencies` section of the `package.json` file only has node-red packages that you actually want. Then do `npm install`. When that finishes, you can restart node-red and you should be good to go.

Note that, if you do follow that "nuke-from-orbit" approach, you might have to start node-red in safe mode to be able to remove any nodes that you got rid of but forgot to remove from your flows before-hand. Of course, if you renamed the `node_modules` folder, you can restore it, change your flows and then do the other part again.

Node-RED really is quite robust. 😃

---

<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:** [15 November 2025 13:50 UTC](https://discourse.nodered.org/t/removing-module-from-nodered/99686/6 "2025-11-15T13:50:17Z")

</div>

> [@Sirhc](#):
>
> I don't want to break the new node I've downloaded since I've spent 4 hours creating flows with it.

If you have a problem then all you have to do is restore your flows file from the backup that you will update before doing any more.

---

<div class="post-metadata">

**Author:** ![Sirhc](https://avatars.discourse-cdn.com/v4/letter/s/b77776/32.png) [@Sirhc](https://discourse.nodered.org/u/Sirhc)\
**Post date:** [15 November 2025 19:58 UTC](https://discourse.nodered.org/t/removing-module-from-nodered/99686/7 "2025-11-15T19:58:00Z")

</div>

Thanks all!

---

<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:** [29 November 2025 19:58 UTC](https://discourse.nodered.org/t/removing-module-from-nodered/99686/8 "2025-11-29T19:58:15Z")

</div>

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