[42_npmjs.pm] Update von Node.js Paketen per NPM aus FHEM

Begonnen von Loredo, 26 Januar 2019, 17:36:24

Vorheriges Thema - Nächstes Thema

Loredo

Angelehnt an das Modul vom coolen Tux habe ich ein ähnliches Modul eingecheckt, welches für die Aktualisierung von Node.js Paketen, welche per NPM installiert wurden, hergenommen werden kann.


Die Voraussetzungen sind ähnlich. Natürlich muss Node.js bereits installiert sein und außerdem müssen die Sudo Rechte für /usr/bin/npm entsprechend an den FHEM Benutzer vergeben worden sein (siehe auch Commandref).


Version 0.9.0 wird ab morgen per Update ausgeliefert.
Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

Maintainer:
FHEM-Docker Image, https://github.com/fhem, Astro(Co-Maintainer), ENIGMA2, GEOFANCY, GUEST, HP1000, Installer, LaMetric2, MSG, msgConfig, npmjs, PET, PHTV, Pushover, RESIDENTS, ROOMMATE, search, THINKINGCLEANER

KernSani

Hi Loredo,

habe mir das Teil gerade aus dem SVN geholt und ausprobiert... macht aber irgendwie nix.

get showUpgradeList zeigt mir, dass upgrades vorhanden sind:

Packagename Current Version New Version
homebridge 0.4.45 0.4.46
npm 6.4.1 6.7.0


set update macht etwas, aber ohne Ergebnis... Readings nach update:


READINGS:
     2019-01-27 00:21:32   nodejsVersion   10.15.0
     2019-01-27 00:21:46   outdated        fetched done
     2019-01-27 00:25:14   state           npm updates available
     2019-01-27 00:25:14   update          successful
     2019-01-27 00:21:46   updatesAvailable 2
   helper:
     lastSync   2019-01-27


und hier noch das zugehörige verbose 5 log...


2019.01.27 00:24:54 5: npmjs (npmjs) - Notify: $VAR1 = [
          'ATTR npmjs verbose 5'
        ];

2019.01.27 00:25:00 5: npmjs (npmjs) - Notify: $VAR1 = [
          'state: command \'npm update\' in progress'
        ];

2019.01.27 00:25:01 4: npmjs (npmjs) - execute command asynchronously (PID= 3501)
2019.01.27 00:25:01 4: npmjs (npmjs) - control passed back to main loop.
2019.01.27 00:25:02 5: npmjs (npmjs) - still waiting (read: no data).
2019.01.27 00:25:03 5: npmjs (npmjs) - still waiting (read: no data).
2019.01.27 00:25:04 5: npmjs (npmjs) - still waiting (read: no data).
2019.01.27 00:25:05 5: npmjs (npmjs) - still waiting (read: no data).
2019.01.27 00:25:06 5: npmjs (npmjs) - still waiting (read: no data).
2019.01.27 00:25:07 5: npmjs (npmjs) - still waiting (read: no data).
2019.01.27 00:25:08 5: npmjs (npmjs) - still waiting (read: no data).
2019.01.27 00:25:09 5: npmjs (npmjs) - still waiting (read: no data).
2019.01.27 00:25:10 5: npmjs (npmjs) - still waiting (read: no data).
2019.01.27 00:25:11 5: npmjs (npmjs) - still waiting (read: no data).
2019.01.27 00:25:12 5: npmjs (npmjs) - still waiting (read: no data).
2019.01.27 00:25:13 5: npmjs (npmjs) - still waiting (read: no data).
2019.01.27 00:25:14 4: npmjs (npmjs) - got result from asynchronous parsing.
2019.01.27 00:25:14 4: npmjs (npmjs) - asynchronous finished.
2019.01.27 00:25:14 4: npmjs (npmjs) - clean Subprocess
2019.01.27 00:25:14 4: npmjs (npmjs) - JSON: {"state":"done"}
2019.01.27 00:25:14 4: npmjs (npmjs) - Write Readings
2019.01.27 00:25:14 5: npmjs (npmjs) - $VAR1 = {
          'state' => 'done'
        };

2019.01.27 00:25:14 5: npmjs (npmjs) - Packages: 0
2019.01.27 00:25:14 5: npmjs (npmjs) - Notify: $VAR1 = [
          'update: successful',
          'state: npm updates available'
        ];

RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

Loredo

Sieht so aus, als wenn die Updates installiert wurden.
Hast du anschließend ein set outdated gemacht?
Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

Maintainer:
FHEM-Docker Image, https://github.com/fhem, Astro(Co-Maintainer), ENIGMA2, GEOFANCY, GUEST, HP1000, Installer, LaMetric2, MSG, msgConfig, npmjs, PET, PHTV, Pushover, RESIDENTS, ROOMMATE, search, THINKINGCLEANER

KernSani

Hi Loredo,

scheint bei mir zu hängen... npm ist aktualisiert (und wird jetzt auch von deinem Modul nicht mehr angezeigt), die homebridge sagt zwar (auch wenn ich es von Hand mache) dass sie aktualisiert wurde, npm outdated meint aber immernoch sie wäre nicht aktuell...

ich hatte aber mehrfach beim rumclicken im Modul ein Popup "usage: outdated", da "denkt" das Modul offensichtlich, dass ich einen Parameter mitgegeben habe, mache ich aber nicht ;-)

Außerdem ist mir noch aufgefallen, dass der state nicht aktualisiert wird, wenn man ein gesetztes disabled-Attribut löscht.


 
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

Loredo

Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

Maintainer:
FHEM-Docker Image, https://github.com/fhem, Astro(Co-Maintainer), ENIGMA2, GEOFANCY, GUEST, HP1000, Installer, LaMetric2, MSG, msgConfig, npmjs, PET, PHTV, Pushover, RESIDENTS, ROOMMATE, search, THINKINGCLEANER

binford6000

Guten Morgen,
vorhin nach einem Update folgendes:
Messages collected while initializing FHEM:
configfile: too few parameters: define <name> npmjs [<HOST>]
Please define nodejs 5c4d6776-f33f-0308-d911-e1261b62a9ef5b88 first
./log/fhem.save: Please define nodejs first
Please define nodejs first
Please define nodejs first
Please define nodejs first
Please define nodejs first
Please define nodejs first
Please define nodejs first
Please define nodejs first


Vorher lief das Modul einwandfrei. Auch bei einem normalen

define fhemServer npmjs localhost
kommt

too few parameters: define <name> npmjs [<HOST>]

VG Sebastian

Loredo

Danke! Ich hatte den Host Parameter als optional deklariert, aber einen Restcode nicht entfernt.
Wenn man also nicht auf einen entfernten Rechner will/muss, kann man "localhost" auch weglassen. Ab morgen geht es auch wieder mit "localhost".
Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

Maintainer:
FHEM-Docker Image, https://github.com/fhem, Astro(Co-Maintainer), ENIGMA2, GEOFANCY, GUEST, HP1000, Installer, LaMetric2, MSG, msgConfig, npmjs, PET, PHTV, Pushover, RESIDENTS, ROOMMATE, search, THINKINGCLEANER

binford6000


no_Legend

@Loredo

Hab den Thread nicht mehr gefunden gehabt.
Weshalb ich hier was geschrieben habe:
https://forum.fhem.de/index.php/topic,96958.msg901262.html#msg901262

Kannst du das Vll einbauen, das die Version auch aktualisiert wird?

Danke und Gruß Robert



Gesendet von iPhone mit Tapatalk Pro
IntelNUC mit Ubuntu mit FHEM immer aktuell,2x HMLAN, CUL443, CUL868 -homekit/siri -tablet ui -homebridge
Device, diverse:
HM-SEC-KEY,HM-LC-BL1-FM,HM-SEC-SD,HM-Sen-DB-PCB,HM-Sec-RHS,HM-Sec-SC-2,HM-WDS10-TH-O,Harmony,Netamo, 433MHz Steckdosen uvm.

Loredo

Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

Maintainer:
FHEM-Docker Image, https://github.com/fhem, Astro(Co-Maintainer), ENIGMA2, GEOFANCY, GUEST, HP1000, Installer, LaMetric2, MSG, msgConfig, npmjs, PET, PHTV, Pushover, RESIDENTS, ROOMMATE, search, THINKINGCLEANER

raimundl

#10
Hallo!

Alexa-fhem wird upgedatet, jedoch 9 weitere  Pakete nicht:

pi@charly:~ $ sudo npm update
(node:4317) [DEP0022] DeprecationWarning: os.tmpDir() is deprecated. Use os.tmpdir() instead

obige Meldung hat zwar nichts mit npmjs.pm zu tun, bin aber nicht in der Lage - trotz Suche - dafür eine Lösung zu finden.

Vielleicht jemand eine Lösung/Hilfe?

Danke und LG

PS.: node --version v8.11.1
Homematic: Licht, Heizung, Alarm, Alexa ... auf einen RaspberryPi3+mit OS "Stretch" und RPI-RF-MOD mit piVCCU3 (HMCCU), ca. 40 HM Komponenten, alexa, MobileAlerts, Hue Ledstripes....

Loredo

Wende dich an den Autor des node.js Moduls, was die als veraltet markierte Funktion verwendet. Ggf hilft auch auf eine neuere Node Version zu aktualisieren.

Mehr kann ich dazu nicht sagen, ansonsten geht es hier um die npm Implementierung in FHEM.
Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

Maintainer:
FHEM-Docker Image, https://github.com/fhem, Astro(Co-Maintainer), ENIGMA2, GEOFANCY, GUEST, HP1000, Installer, LaMetric2, MSG, msgConfig, npmjs, PET, PHTV, Pushover, RESIDENTS, ROOMMATE, search, THINKINGCLEANER

Loredo

Mit dem heutigen Update kann das Modul auch install und uninstall.

Die FHEMWEB Ansicht ist vorbelegt mit den für FHEM relevanten Modulen, welche mittels dem virtuellen NPM Paket "fhem-all" auch gemeinsam installiert, deinstalliert und aktualisiert werden können.

Über die FHEM Kommandozeile kann man aber auch jedes andere Paket installieren.

Die für install/uninstall/update notwendige sudo Berechtigung hat sich geändert. Weil die Kommandos für ein besseres Error Handling in einer Subshell ausgeführt werden, braucht es aktuell die Berechtigung ALL.

Außerdem wird bei einer komplett fehlenden Node.js Installation angeboten Node auf dem Rechner zu installieren (funktioniert nur für Linux mit APT Paketmanager, so wie auf nodejs.org angeboten).
Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

Maintainer:
FHEM-Docker Image, https://github.com/fhem, Astro(Co-Maintainer), ENIGMA2, GEOFANCY, GUEST, HP1000, Installer, LaMetric2, MSG, msgConfig, npmjs, PET, PHTV, Pushover, RESIDENTS, ROOMMATE, search, THINKINGCLEANER

raimundl

Zitat von: Loredo am 11 Februar 2019, 20:45:27
Wende dich an den Autor des node.js Moduls, was die als veraltet markierte Funktion verwendet. Ggf hilft auch auf eine neuere Node Version zu aktualisieren.
Danke! Funktioniert!
LG
Homematic: Licht, Heizung, Alarm, Alexa ... auf einen RaspberryPi3+mit OS "Stretch" und RPI-RF-MOD mit piVCCU3 (HMCCU), ca. 40 HM Komponenten, alexa, MobileAlerts, Hue Ledstripes....

raimundl

Zitat von: Loredo am 12 Februar 2019, 09:22:37
Mit dem heutigen Update kann das Modul auch install und uninstall.

Hallo!
Bei mir gibt es nur mehr "set xxx install vxxx" und keine weiteren "set Befehle" mehr.
LG
Homematic: Licht, Heizung, Alarm, Alexa ... auf einen RaspberryPi3+mit OS "Stretch" und RPI-RF-MOD mit piVCCU3 (HMCCU), ca. 40 HM Komponenten, alexa, MobileAlerts, Hue Ledstripes....