when I updated with "npm i weather-icons-lite" it updated and I could see the changes in css.
but node-red didnt reconize them.
At some point, after I messed up..... when I now update a palette in nodered it cant update because of missing writeaccess to weather-icons-lite.
when browsing filesystem in node-modules I can see weather-icons-lite is a symlink folder.
I then tried to delete this symlink but now I cant install the weather-icons-lite, and when ever I update another npm package from the node palette it keeps creating this symlink.
Do any of you have an idea on how I unmess this trouble I put myself in?
You shouldn't really be installing or updating weather-icons-lite in this way, as it is a dependency within node-red-dashboard.
When the node-RED team update node-red-dashboard, the build process copies files from npm weather-icons-lite, and processes them as follows when installed on a pi;
The 2 font files are installed in /home/pi/.node-red/node_modules/node-red-dashboard/dist/fonts, and the corresponding css is merged into the dashboard css file - app.min.css which is located /home/pi/.node-red/node_modules/node-red-dashboard/dist/css.
I would npm uninstall weather-icons-lite and await for the next version of the dashboard to be released, which will contain the css changes which you made a PR for.
v2.25.0 of the dashboard currently uses v1.5.0 of the w/icons. Your recent changes are in v1.6.0.
I kinda found out, too late about the build in css to node-red.
when trying to uninstall it says:
pi@raspberrypi:~/.node-red $ npm uninstall weather-icons-lite
npm ERR! code ELOOP
npm ERR! syscall open
npm ERR! path /home/pi/.node-red/node_modules/weather-icons-lite/npm-shrinkwrap.json
npm ERR! errno -40
npm ERR! ELOOP: too many symbolic links encountered, open '/home/pi/.node-red/node_modules/weather-icons-lite/npm-shrinkwrap.json'
npm ERR! A complete log of this run can be found in:
npm ERR! /home/pi/.npm/_logs/2020-12-20T14_18_23_858Z-debug.log
I'm stepping outside of my comfort zone here as I've never encountered ELOOP before...
I would stop node-RED, manually delete the weather-icons-lite directory, and then carefully edit the package.json file which is in your .node-red directory, deleting the line containing weather-icons-lite (create a backup first).
I think that personally, I would delete the whole node_modules folder from your userDir. You probably need to to an npm cache clean --force as well. (I think that's the command, I don't often use it so don't always remember it exactly). It is possible that the cache is causing the issue. Despite the horrid warnings you get when trying to run it, it doesn't do any harm.
Once you've done that, again from the userDir folder, run npm install and everything should come back nicely.
Unless the package.json file is edited and weather-icons-lite removed, it will be automatically installed again when as Julian says "run npm install".
But you should then be able npm uninstall it as normal.
In fact, at least with npm v6.14.8, it is not necessary to edit package-lock.json after editing package.json. package.json determines what should be installed and may specify a range of versions that are acceptable, package-lock.json specifies exactly which version it should be (or is). If an entry is removed from package.json and npm install is run then the package spec is removed from package-lock.json.
Personally, I've had lots of problems with package.lock in the past. If I have an npm problem, deleting it is pretty much the first thing I do. It gets re-created anyway next time you install something. It is only really useful if distributing your code anyway.
I was just pointing out that it should not be necessary in the situation we have here.
I haven't had any problems with the lock file, but quite possibly I just haven't hit the appropriate edge cases.