I don't think it was ever comprehensible to me. But there would be a point in investigating further, so that the next time someone reports the error we will know what the cause is, But unless you can tell us exactly what you did then it is not possible.
the only difference was that I did the first installation directly on the RPi keyboard
today's installation via SSH from Mac, of course with the script via copy/paste
(I can rule out any typos)
In the first case, before burning adjustments such as hostname, user, password, SSH
today in the new attempt only the system (RPi 2) and OS (Legacy 32-bit light), otherwise noting
In the first case, various adjustments in raspi-config and then the installation directly on the RPi
Today's installation, as already mentioned, via SSH and Mac
yes, after I got the mentioned error message when running this bash script (bash: /def/fd/63: No such file or directory) in the opinion that npm and nodejs must be installed first (trying, trying, trying...)
As I said before, that does not tell you to install npm.
It would be helpful if you could try again with the 32 bit bookworm install and see if you can replicate the problem. I haven't got the hardware to try it myself at the moment.
This error means that curl failed to download the script and there was no input to pass to bash from stdout.
There is no error message because curl is passed the -s flag to be silent.
The usual cause for this error will be a network problem on the device, possibly a DNS lookup failure. The other cause can be trying to run the command with sudo, this will NOT work as it runs bash as root, but runs curl as the local user and can't pipe the stdout output to the process running as a different user.
The correct debug for this situation in future is to run just the curl command without the -s e.g.
I am not seeing that. When I run the script on Ubuntu with the network disconnected it just returns immediately with no output.
In fact possibly a good plan when there are reported problems is to run the full command, but without the -s so that there is at least confirmation that it has downloaded. bash <(curl -L https://raw.githubusercontent.com/node-red/linux-installers/master/deb/update-nodejs-and-nodered )
Same on a Pi with a typo in "githubusercontent.com". I guess that's equivalent to bash <(false)
The Bash exit code $? in this case is 0
But with a typo in the name of the script I get /dev/fd/63: line 1: 404:: command not found
Which is similar but not identical to the error reported by the OP, presumably because he did things slightly differently.
The 404 is of course the HTML status code "404 Not Found"
@dceejay do you think it worthwhile to tweek the script to first of all print "Node-RED Installation" and the documentation to say "If you do not see 'Node-RED Installation' you may have a problem with your internet connection, please check and try again"?