Missing Manage Palette in Node-Red?

Top of the list of things that took way too long to figure out this week I bring you the problem where “Manage Palette” option is missing in Node-Red. I ran into this problem rather frustratingly after installing Node-Red as a service. While running it from the command line everything was working great, but once it was running as a service the menu item disappeared. I found several solutions that seemed to paint a picture that I was using an old version of Node-Red — but that was not the case, in fact I was using the latest version of Node-Red at the time (3.1.6).

That of course did not stop me from trying to re-install Node-Red. I did finally happen upon an article that had a solution to fix the problem which was basically the server cannot determine the path to the npm executable. So basically I just needed to update my service file to include an environmental variable for PATH with the path to the npm executable. So here is the service file I have created (I have Node installed through NVM and run Node-Red is installed under the user I created for this service specifically). It is important to note that the double quotes are not optional — they are required. Just be sure to change the path to reflect where npm is installed on your system (on most Linux machines you can use the which command to determine the path to the executable (e.g. which npm)

[Unit]
Description=Node Red Server
After=network.target
StartLimitIntervalSec=0

[Service]
Type=simple
Restart=always
RestartSec=1
User=nodeadmin
Group=nodeadmin
Environment="PATH=/home/nodeadmin/.nvm/versions/node/v18.19.1/bin"
ExecStart=/home/nodeadmin/.nvm/versions/node/v18.19.1/bin/node /home/nodeadmin/node_modules/.bin/node-red

[Install]
WantedBy=multi-user.target

Leave a comment