# Install Node-Red

**URL:** <https://discourse.nodered.org/t/install-node-red/90270>\
**Category:** General\
**Created:** [19 August 2024 12:58 UTC](https://discourse.nodered.org/t/install-node-red/90270 "2024-08-19T12:58:40Z")\
**Posts on this page:** 20\
**Page:** 2

<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:** [19 August 2024 17:46 UTC](https://discourse.nodered.org/t/install-node-red/90270/21 "2024-08-19T17:46:35Z")

</div>

> [@maxmueller50](#):
>
> the basic script only

What does the command  
`node -v` show?

---

<div class="post-metadata">

**Author:** ![maxmueller50](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/maxmueller50/32/2621_2.png) [@maxmueller50](https://discourse.nodered.org/u/maxmueller50)\
**Post date:** [19 August 2024 17:50 UTC](https://discourse.nodered.org/t/install-node-red/90270/22 "2024-08-19T17:50:33Z")

</div>

```
 node -v ==> -bash: node: command not found

```

I know, I was wrong... sorry about

---

<div class="post-metadata">

**Author:** ![maxmueller50](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/maxmueller50/32/2621_2.png) [@maxmueller50](https://discourse.nodered.org/u/maxmueller50)\
**Post date:** [19 August 2024 18:05 UTC](https://discourse.nodered.org/t/install-node-red/90270/23 "2024-08-19T18:05:35Z")

</div>

sorry, now new image (OS 32bit lite; all update / full-upgrade)

after I entered this scipt:

bash \<(curl -sL [https://raw.githubusercontent.com/node-red/linux-installers/master/deb/update-nodejs-and-nodered](https://raw.githubusercontent.com/node-red/linux-installers/master/deb/update-nodejs-and-nodered)) --nodered-version="3.1.9" --node20

I get the message again:

_ **bash: /def/fd/63: No such file or directory** _

and nothing else!  
... I don't know...

---

<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:** [19 August 2024 18:33 UTC](https://discourse.nodered.org/t/install-node-red/90270/24 "2024-08-19T18:33:36Z")

</div>

Why have you put --node20 on the end? I think nodejs 20 is not compatible with the hardware.

---

<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:** [19 August 2024 19:12 UTC](https://discourse.nodered.org/t/install-node-red/90270/25 "2024-08-19T19:12:46Z")

</div>

If you run the script again with `--node18` it might sort it out, but it may be too late.

If that does not work, what does this command show?  
`which node`

---

<div class="post-metadata">

**Author:** ![maxmueller50](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/maxmueller50/32/2621_2.png) [@maxmueller50](https://discourse.nodered.org/u/maxmueller50)\
**Post date:** [20 August 2024 05:45 UTC](https://discourse.nodered.org/t/install-node-red/90270/26 "2024-08-20T05:45:54Z")

</div>

If I use this script, then I get the message: “/def/fd/63: no such file or directory”

---

<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:** [20 August 2024 07:16 UTC](https://discourse.nodered.org/t/install-node-red/90270/27 "2024-08-20T07:16:25Z")

</div>

You don't appear to have read my previous post fully.

> [@Colin](#):
>
> If that does not work, what does this command show?  
> `which node`

Also what do these show?  
`which npm`  
`apt policy nodejs`

Having installed a non-working version of nodejs we need to work out how to remove it so that the script will work.

---

<div class="post-metadata">

**Author:** ![maxmueller50](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/maxmueller50/32/2621_2.png) [@maxmueller50](https://discourse.nodered.org/u/maxmueller50)\
**Post date:** [20 August 2024 07:17 UTC](https://discourse.nodered.org/t/install-node-red/90270/28 "2024-08-20T07:17:33Z")

</div>

“which node” does not produce a message

the main problem is the message:  
/dev/fd/63: no such file or directory

---

<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:** [20 August 2024 07:23 UTC](https://discourse.nodered.org/t/install-node-red/90270/29 "2024-08-20T07:23:24Z")

</div>

What do `node -v` show and `apt policy nodejs`

> [@maxmueller50](#):
>
> the main problem is the message:  
> /dev/fd/63: no such file or directory

That is what we are trying to fix. I presumed that this is caused by the non-working version of node being run. Is that all that you see when you run it?

Please also post the contents of the node red install log /var/log/nodered-install.log after running the script.

---

<div class="post-metadata">

**Author:** ![maxmueller50](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/maxmueller50/32/2621_2.png) [@maxmueller50](https://discourse.nodered.org/u/maxmueller50)\
**Post date:** [20 August 2024 07:41 UTC](https://discourse.nodered.org/t/install-node-red/90270/30 "2024-08-20T07:41:45Z")

</div>

yes, this I'm trying to fix

the problem, there is no evidence

in the Log-directory /var/log/, there are no such log-file

because the message "/dev/fg/63..." this comes immediately

---

<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:** [20 August 2024 07:56 UTC](https://discourse.nodered.org/t/install-node-red/90270/31 "2024-08-20T07:56:56Z")

</div>

Please answer the other questions. Many times you have not answered all the questions which is annoying.

> [@Colin](#):
>
> What do `node -v` show and `apt policy nodejs`

---

<div class="post-metadata">

**Author:** ![jbudd](https://avatars.discourse-cdn.com/v4/letter/j/5f8ce5/32.png) [@jbudd](https://discourse.nodered.org/u/jbudd)\
**Post date:** [20 August 2024 08:00 UTC](https://discourse.nodered.org/t/install-node-red/90270/32 "2024-08-20T08:00:58Z")

</div>

> [@Colin](#):
>
> Why have you put --node20 on the end?

I think @maxmueller50 probably put --node20 on his command line because that's what I suggested. (I have edited my post above to remove that CLI option)

I had [previously suggested](https://discourse.nodered.org/t/pi-zero-w-fail-to-install-node-red/88950) this for failure to install on a 32 bit Pi Zero, and it was marked as the solution.

> [@maxmueller50](#):
>
> after I entered this scipt:
> 
> bash \<(curl -sL [https://raw.githubusercontent.com/node-red/linux-installers/master/deb/update-nodejs-and-nodered](https://raw.githubusercontent.com/node-red/linux-installers/master/deb/update-nodejs-and-nodered)) --nodered-version="3.1.9" --node20
> 
> I get the message again:
> 
> _ **bash: /def/fd/63: No such file or directory** _
> 
> and nothing else!

Are you saying that the script gives _no screen output whatsoever_ apart from that error message?  
And that the file /var/log/nodered-install.log does not exist?

Precisely which version of RPiOS did you install on the Pi?

---

<div class="post-metadata">

**Author:** ![maxmueller50](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/maxmueller50/32/2621_2.png) [@maxmueller50](https://discourse.nodered.org/u/maxmueller50)\
**Post date:** [20 August 2024 09:37 UTC](https://discourse.nodered.org/t/install-node-red/90270/33 "2024-08-20T09:37:54Z")

</div>

node -v: command not found

apt policy nodejs:

Candidate: 18.19.0+dfsg-6˜deb12u2+rpi1 500  
500 [https://raspbian.raspberrypi.com/raspbian](https://raspbian.raspberrypi.com/raspbian) bookworm/main armhf packages

---

<div class="post-metadata">

**Author:** ![maxmueller50](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/maxmueller50/32/2621_2.png) [@maxmueller50](https://discourse.nodered.org/u/maxmueller50)\
**Post date:** [20 August 2024 09:45 UTC](https://discourse.nodered.org/t/install-node-red/90270/34 "2024-08-20T09:45:11Z")

</div>

---\> yes this is right

RPiOS is Bookworm 32-bit light

---

<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:** [20 August 2024 09:53 UTC](https://discourse.nodered.org/t/install-node-red/90270/35 "2024-08-20T09:53:30Z")

</div>

OK, so it is nothing to do with nodejs as that is not installed at all, so we need to find what part is failing.

Run this command, it should output the install script to the terminal

`curl -sL https://raw.githubusercontent.com/node-red/linux-installers/master/deb/update-nodejs-and-nodered`

If it does then run  
`bash`  
it should just start a new bash shell, so will look as if it has done nothing. Then `exit` will return you to the original shell.

---

<div class="post-metadata">

**Author:** ![maxmueller50](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/maxmueller50/32/2621_2.png) [@maxmueller50](https://discourse.nodered.org/u/maxmueller50)\
**Post date:** [20 August 2024 09:54 UTC](https://discourse.nodered.org/t/install-node-red/90270/36 "2024-08-20T09:54:21Z")

</div>

before I run this script with "sudo" on the beginning

without "sudo" the result will be: /dev/fd/63: Line 1: 404:: command not found

this is funny, because the directory /dev/fd/ shows "0 1 2 255" only, thats all

in the community I found this wording:

_So the script works. Errors in shell scripting generally in form `<shell>: <command user typed>: error message` so the script being temporarily stored as /dev/fd/63 and runs, it just doesn't find what it needs._

---

<div class="post-metadata">

**Author:** ![jbudd](https://avatars.discourse-cdn.com/v4/letter/j/5f8ce5/32.png) [@jbudd](https://discourse.nodered.org/u/jbudd)\
**Post date:** [20 August 2024 10:35 UTC](https://discourse.nodered.org/t/install-node-red/90270/37 "2024-08-20T10:35:12Z")

</div>

I am finding it hard to understand exactly what is going on.  
You don't answer all of our questions.  
You keep mistyping the error message or omitting part of it.  
You keep introducing new snippets of information like the above hint of using sudo.

> [@maxmueller50](#):
>
> so the script being temporarily stored as /dev/fd/63 and runs,

I do not believe that the script is temporarily stored as /dev/fd/63.

That "file" is not a normal file but a special file created by the operating system when it is processing a redirection.  
A simple example of a command:

```auto
pi@TestOS:~ $ date
Tue 20 Aug 11:05:02 BST 2024

```

And the same command with an invalid redirection:

```auto
pi@TestOS:~ $ <(date)
-bash: /dev/fd/63: Permission denied

```

Please run this command and show us what it outputs

```auto
bash <(echo whoami)

```

> [@maxmueller50](#):
>
> RPiOS is Bookworm 32-bit light

Not Raspberry Pi OS (Legacy, 32 bit) Lite?

> [@maxmueller50](#):
>
> before I run this script with "sudo" on the beginning

You **must not** run the script with sudo.

Please try it broken down into steps like this:

```auto
curl -sL https://raw.githubusercontent.com/node-red/linux-installers/master/deb/update-nodejs-and-nodered >nrscript
ls -l nrscript

```

show us the output. I would expect something very like this:  
 ![image](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/f/9/f92c76cf343923487e3e95ae00171c6824dba9ee.png)

Now run

```auto
bash <./nrscript --nodered-version="3.1.9" --node18

```

Do you see this?

 ![image](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/4/0/40e9a900bf996e8ca503b19808fb989c0bc5cda2.png)

---

<div class="post-metadata">

**Author:** ![maxmueller50](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/maxmueller50/32/2621_2.png) [@maxmueller50](https://discourse.nodered.org/u/maxmueller50)\
**Post date:** [20 August 2024 11:08 UTC](https://discourse.nodered.org/t/install-node-red/90270/38 "2024-08-20T11:08:22Z")

</div>

Please excuse any misunderstandings, there were no intentions and I tried to answer all questions accordingly

now RPi OS Legacy, 32 bit Lite

output of the nrscript is equal!

but by running of this script I get a invalid option

 ![tempImagePWsT5N](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/2/c/2c54cfde84c59467203adcbd530baeabd75a6635.jpeg)

---

<div class="post-metadata">

**Author:** ![jbudd](https://avatars.discourse-cdn.com/v4/letter/j/5f8ce5/32.png) [@jbudd](https://discourse.nodered.org/u/jbudd)\
**Post date:** [20 August 2024 11:27 UTC](https://discourse.nodered.org/t/install-node-red/90270/39 "2024-08-20T11:27:01Z")

</div>

Well I think we have established at least that your login is pi, the script runs and it does produce some output to the screen.

Now try this (it's the same but without the redirection)

```auto
bash ./nrscript --nodered-version="3.1.9" --node18

```

---

<div class="post-metadata">

**Author:** ![maxmueller50](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/maxmueller50/32/2621_2.png) [@maxmueller50](https://discourse.nodered.org/u/maxmueller50)\
**Post date:** [20 August 2024 11:53 UTC](https://discourse.nodered.org/t/install-node-red/90270/40 "2024-08-20T11:53:57Z")

</div>

now I'm happy, thank you very much!!!

 ![bash_nrscript](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/4/5/451233a08ec12715368c9030243fd353bd620840.jpeg)

[Previous page](https://discourse.nodered.org/t/install-node-red/90270.md?page=1)

[Next page](https://discourse.nodered.org/t/install-node-red/90270.md?page=3)
