[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

Wenn du das abwandeln willst, sei es dir überlassen, das Endergebnis zählt. Für eine automatische Verarbeitung per Script sind einzelne Zeilen pro Kommando jedoch besser. Außerdem leidet meiner Meinung nach die Übersicht ansonsten ziemlich stark ...
Wichtig ist, dass du die Kommandos genau so übernimmst, also auch mit "*" am Ende.
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

no_Legend

#76
Zitat von: Loredo am 04 Januar 2020, 10:06:00
Wenn du das abwandeln willst, sei es dir überlassen, das Endergebnis zählt. Für eine automatische Verarbeitung per Script sind einzelne Zeilen pro Kommando jedoch besser. Außerdem leidet meiner Meinung nach die Übersicht ansonsten ziemlich stark ...
Wichtig ist, dass du die Kommandos genau so übernimmst, also auch mit "*" am Ende.

Das mit der Datei per User habe ich bisher so garnicht gekannt.
hab ich gleich mal umgesetzt und die npmjs befehle hinzu gefügt.
Bekomme aber immer noch die gleiche Fehler Meldung.

Hast du es auf Debian oder Ubuntu am laufen?

Edit: Bei der Englischen und der Deutschen Version des Commandrefs gibt es einen unterschied bei den Befehlen, die erlaubt werden müssen.
Outdated fehlt bei der deutschen Version.

Edit2: Ich hab mich mal per su fhem eingelogt und geschaut ob das command sich ohne Passwort Eingabe ausführen lässt.
Test war erfolgreich. Also direkt in der Konsole als user fhem kein problem.
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

#77
Läuft am besten im FHEM Docker Image, da ist alles aufeinander abgestimmt (Debian Buster).

Wenn es bei dir händisch geht, dann stimmt trotzdem etwas mit deiner Systemumgebung nicht. Der eingangs schon erwähnte Getter wird dir sicherlich verraten, was nicht stimmt. Ggf stimmt beispielsweise der Pfad zu deinem npm Executable nicht.
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

no_Legend

#78
Zitat von: Loredo am 04 Januar 2020, 14:35:43
Läuft am besten im FHEM Docker Image, da ist alles aufeinander abgestimmt (Debian Buster).

Wenn es bei dir händisch geht, dann stimmt trotzdem etwas mit deiner Systemumgebung nicht. Der eingangs schon erwähnte Getter wird dir sicherlich verraten, was nicht stimmt. Ggf stimmt beispielsweise der Pfad zu deinem npm Executable nicht.
Ich versteh nur nicht wo da Problem her kommt.
Die ganz Zeit hat es ja immer gut funktioniert.
Auch auf Ubuntu.
Wenn es ja von Hand geht, kann es dann nicht eher doch etwas im Modul sein?
Oder könnte es möglich sein, dass es einfach ein unterscheide bei der Implementierung zwischen Ubuntu und Debian liegt?

Auf docker umzustellen sehe ich jetzt nicht als Option, sehe da bisher keinen Vorteile für mich.

Edit:

So ich hab mich noch mal auf die suche im tiefen des Systems begeben.
Die Lösung ist jetzt folgende:

fhem ALL=(ALL) NOPASSWD:SETENV: /usr/local/bin/npm outdated *
fhem ALL=(ALL) NOPASSWD:SETENV: /usr/local/bin/npm update *
fhem ALL=(ALL) NOPASSWD:SETENV: /usr/local/bin/npm install *
fhem ALL=(ALL) NOPASSWD:SETENV: /usr/local/bin/npm uninstall *


Der Pfad zu npm ist ein ganz anderer, ob das eine Eigenart von Ubuntu ist keine Ahnung.
Jetzt geht es wenigstens.
Vielleicht hilft es ja jemanden weiter.

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

Hatte ich ja oben geschrieben.
Kommt eben ganz darauf an, wie du NodeJS und NPM installiert hast.
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

ThomasReu

#80
Hallo Zusammen,

seit dem letzten Update (2020-01-04) funktioniert mein npmjs-Device nicht mehr.

showErrorList liefert folgendes Ergebnis:Error code E500
Summary:
Parsing error - malformed JSON string, neither tag, array, object, number, string or atom, at character offset 492 (before "sh: 2: -n: not found...") at ./FHEM/42_npmjs.pm line 1165.
Detail:

{
"versions":
{"http_parser":"2.8.0","node":"8.17.0","v8":"6.2.414.78","uv":"1.23.2","zlib":"1.2.11","ares":"1.10.1-DEV","modules":"57","nghttp2":"1.39.2","napi":"4","openssl":"1.0.2s","icu":"60.1","unicode":"10.0","cldr":"32.0","tz":"2017c"}
, "listed": {
  "dependencies": {
    "alexa-fhem": {
      "version": "0.5.37",
      "from": "alexa-fhem",
      "resolved": "https://registry.npmjs.org/alexa-fhem/-/alexa-fhem-0.5.37.tgz"
    },
    "npm": {
      "version": "6.13.4"
    }
  }
}
, "outdated": sh: 2: -n: not found
}



OS: raspian
FVERSION: 42_npmjs.pm:v1.1.4-s20878/2020-01-04
nodejsVersion: 8.17.0

Hat jemand eine Idee?

Beste Grüße
ThomasReu

Loredo

Ich denke ich konnte endlich herausfinden, weshalb es hier und dort zu eher unerklärlichen Fehlern kommt:


Die Befehle "npm outdated" und "npm list" schlagen fehl, wenn die Zugriffsrechte für node_modules nicht stimmen. Diese sind normalerweise zumindest für alle lesbar, es sei denn, die umask entspricht nicht dem default 0022. Dies ist insbesondere beim Einsatz des fhem-docker Images der Fall; dort wird die umask vom fhem Prozess über sudo auch an den npm Prozess vererbt, so dass dort nach einem Update über das npmjs Modul die Zugriffsrechte nicht mehr stimmen.


Ich habe dies nun in einer neuen Version des npmjs Moduls behoben, indem dort die umask auf 0022 gesetzt wird. Damit sollten die Probleme beseitigt sein.
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

Hauswart

Muss  noch Zeile 1783       fhem ALL=(ALL) NOPASSWD:SETENV: /usr/bin/npm outdated *<br> weg?
1. Installation:
KNX, Tasmota (KNX), Sonos, Unifi

2. Installation:
HM-CFG-USB, Unifi (, SIGNALduino 868, MySensors, SIGNALduino 433)

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

ThomasReu

RÜCKMELDUNG !!

Nach dem Update von heute (2020-01-10) läuft bei mir das npmjs-Device wieder wie gewohnt.

SUPER!  Dankeschön!
Thomas

piet_pit

Hallo Zusammen,

ich nutze das Modul 42_npmjs.pm seit geraumer Zeit und bin sehr zufrieden. Nun habe ich leider (never touch...) ein "Upgrade" auf meinem PI gemacht, seitdem klappt das Tool leider nicht mehr. Kann das sein, dass es an einer neuen Version von Node liegt (node -v ergibt 12.20.0)?

Bitte jetzt etwas ratlos, wer kann mir da einen Tip geben?
VG
Pit
FHEM 6.0 auf Raspberry Pi 3, Rasbian-Stretch
FRITZ!Box 7490
HM-Mod-RPI-PCB
JeeLink
CUNO 1.47

Supadone

Servus

Also ich habe node 10.21.0, weiß aber nicht ob es daran liegt...

Grüße

Andy

piet_pit

Hallo,
habe jetzt wieder auf Node 10.X im Einsatz, scheint zu klappen.
Habe jetzt auch die gesamte Installation entsprechend der sehr ausführlichen Beschreibung auf dem github vorgenommen, ist echt klasse, auch mit diesem Web-Interface  "Homebridge Config UI X".

https://github.com/homebridge/homebridge/wiki/Install-Homebridge-on-Raspbian

Vereinfacht das Thema Homebridge doch enorm!
Viele Grüße
Pit
FHEM 6.0 auf Raspberry Pi 3, Rasbian-Stretch
FRITZ!Box 7490
HM-Mod-RPI-PCB
JeeLink
CUNO 1.47