Wie kann man einen lokalen Node von der Festplatte in NodeRed hochladen, wenn er nicht im Repository vorhanden ist und nur lokal auf der Platte liegt? Und wenn dann noch NodeRed in einem Docker Kontainer läuft, wie geht es dann? Es kann natürlich auch über die Kommandozeil des Raspberry Pi laufen, aber das will man ja nicht immer.
Hier eine kurze Beschreibung wie das geht. Der Button zum hochladen ist etwas versteckt, unter „Palette verwalten“ und „Palette“ und „Installieren„, im Dialog zu finden.
Nach einem klick, einfach das tgz-Archiv auswählen und hochladen. Dann ist unbedingt ein Neustart von NodeRed nötig. Das ist im Docker Kontainer mit einem Restart schnell gemacht.
Kommt es beim hochladen zu einem Fehler, kann es sein das das npm-Package für den Node nicht richtig erzeugt wurde. Die npm-Packages müssen mit npm pack im jeweiligen node_modul erzeugt worden sein, z.B. so: …
1 2 3 4 5 6 7 8 9 |
root@pi-vier:/home/pi/IOTstack/volumes/nodered/data/node_modules/node-red-contrib-cryptography# tar -tf node-red-contrib-cryptography-0.0.3.tgz package/package.json package/LICENSE package/README.md package/aes256/.gitkeep package/aes256/sha256.html package/aes256/sha256.js package/examples/.gitkeep package/examples/example-flow.json |
Wenn sie einfach mit tar cfzv namr.tgz verzeichnis erzeugt werden, haben sie nicht die richtige Struktur, wie man hier sehen kann. Es fehlt dann das package Verzeichnis.
1 2 3 4 5 6 7 8 9 10 11 12 13 |
root@pi-vier:/home/pi/IOTstack/volumes/nodered/data/node_modules# tar cfzv node-red-contrib-cryptography-0.3.3.tgz node-red-contrib-cryptography/ node-red-contrib-cryptography/ node-red-contrib-cryptography/package.json node-red-contrib-cryptography/aes256/ node-red-contrib-cryptography/aes256/sha256.html node-red-contrib-cryptography/aes256/.gitkeep node-red-contrib-cryptography/aes256/sha256.js node-red-contrib-cryptography/examples/ node-red-contrib-cryptography/examples/.gitkeep node-red-contrib-cryptography/examples/example-flow.json node-red-contrib-cryptography/node-red-contrib-cryptography-0.0.3.tgz node-red-contrib-cryptography/LICENSE node-red-contrib-cryptography/README.md |