# Install nodes systemwide for "stable" and "dev" setup

**URL:** <https://discourse.nodered.org/t/install-nodes-systemwide-for-stable-and-dev-setup/81311>\
**Category:** General\
**Created:** [14 September 2023 13:41 UTC](https://discourse.nodered.org/t/install-nodes-systemwide-for-stable-and-dev-setup/81311 "2023-09-14T13:41:23Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![gNeandr](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/gneandr/32/73947_2.png) [@gNeandr](https://discourse.nodered.org/u/gNeandr)\
**Post date:** [14 September 2023 13:41 UTC](https://discourse.nodered.org/t/install-nodes-systemwide-for-stable-and-dev-setup/81311/1 "2023-09-14T13:41:23Z")

</div>

On one RPI I have node-red with multiple instances, one running stable with MQTT/devices.  
The second is used to do more/additional development on the flows. I wonder if there is a way to not "double" install nodes on the development side, but if there is a global setup.  
My stable installation is on :1880 and the development side is on :2000.  
So how can I deal with only one installation of the required nodes on both sides?

---

<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:** [14 September 2023 14:24 UTC](https://discourse.nodered.org/t/install-nodes-systemwide-for-stable-and-dev-setup/81311/2 "2023-09-14T14:24:30Z")

</div>

Honestly, I wouldn't bother. In any case, you might well at some point, want to have different nodes or different versions of a node installed. The act of installing/removing nodes is so easy that any "optimisation" is likely to be worse than double management.

Certainly my dev environment is very different to live. Then I also have a `clean` install for testing things with no chance of pollution from a dev setup. I also use that when doing instruction videos.

Each of my environments has its own dedicated install of Node-RED.

---

<div class="post-metadata">

**Author:** ![marcus-j-davies](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/marcus-j-davies/32/103435_2.png) [@marcus-j-davies](https://discourse.nodered.org/u/marcus-j-davies)\
**Post date:** [14 September 2023 15:59 UTC](https://discourse.nodered.org/t/install-nodes-systemwide-for-stable-and-dev-setup/81311/3 "2023-09-14T15:59:22Z")

</div>

Just to add my 2c.

This is built in, and can be configured with `settings.js`

 ![Screenshot 2023-09-14 at 16.57.06](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/8/3/831d93d3158a9ee16e7638339b25bbf1a39e1e8c.png)

Therefore, dedicate a `node_modules` folder, that is then referenced by both instances.

The great thing here, the instances will also load modules they have exclusively (via the `node_modules` folder in the each user dir)

I have tested this - and it works

You can have (for example) `/usr/shared/Node-RED/node_modules`

When it comes to installing the nodes that are to be used by both,

```auto
cd /usr/shared/Node-RED
npm install ****

```

As installing nodes within the UI, will install to that instance only

---

<div class="post-metadata">

**Author:** ![marcus-j-davies](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/marcus-j-davies/32/103435_2.png) [@marcus-j-davies](https://discourse.nodered.org/u/marcus-j-davies)\
**Post date:** [14 September 2023 16:14 UTC](https://discourse.nodered.org/t/install-nodes-systemwide-for-stable-and-dev-setup/81311/4 "2023-09-14T16:14:22Z")

</div>

WARNING : Shameless Plug using my own nodes 😅

 ![Screenshot 2023-09-14 at 17.10.59](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/0/6/0611dfd37e75622b4b311c03fb9029738de049b0.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:** [14 September 2023 16:27 UTC](https://discourse.nodered.org/t/install-nodes-systemwide-for-stable-and-dev-setup/81311/5 "2023-09-14T16:27:05Z")

</div>

> [@marcus-j-davies](#):
>
> Therefore, dedicate a `node_modules` folder, that is then referenced by both instances.

Yes, very good point. Then you could have a core set that were common and others that were not.

Just note that the ones in the `nodesDir`, I don't believe can be managed via the Editor's palette manager. Which is probably what you'd want in this case anyway.

However, I still think that it isn't worth it just for 2 environments.

---

<div class="post-metadata">

**Author:** ![marcus-j-davies](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/marcus-j-davies/32/103435_2.png) [@marcus-j-davies](https://discourse.nodered.org/u/marcus-j-davies)\
**Post date:** [14 September 2023 16:28 UTC](https://discourse.nodered.org/t/install-nodes-systemwide-for-stable-and-dev-setup/81311/6 "2023-09-14T16:28:35Z")

</div>

> [@TotallyInformation](#):
>
> I don't believe can be managed via the Editor's palette

Correct - I can't for example remove them via the UI, its a manual affair for the shared nodes

---

<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:** [13 November 2023 16:29 UTC](https://discourse.nodered.org/t/install-nodes-systemwide-for-stable-and-dev-setup/81311/7 "2023-11-13T16:29:13Z")

</div>

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