Node v16.x und npm: TypeError bei Plugin De-/Installation/Update
-
-
-
Gib das Kommando mal so wie es dort steht auf der Kommandozeile ein.
Es sieht aus, als sein der Plugin-Installer npm verantwortlich. Welche Node-Version verwendest du und welche npm-Version?
Mit node -v und npm -v findest du das heraus.
Das sieht aus wie bei mir. Vielleicht hilft es, den npm-Cache zu löschen. Auf den Raspi per ssh einloggen und dann:
rm -rf .npm
sudo rm -rf /root/.npm
Hallo,
ich habe Probleme ein Plugin zu upgraden oder zu deinstallieren.
Immer wenn ich es versuche bekomme ich die Fehlermeldung
TypeError: Class extends value undefined is not a constructor or null
at Object.<anonymous> (/usr/local/lib/node_modules/npm/node_modules/socks-proxy-agent/dist/agent.js:114:44)
at Module._compile (node:internal/modules/cjs/loader:1101:14)
at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10)
at Module.load (node:internal/modules/cjs/loader:981:32)
at Function.Module._load (node:internal/modules/cjs/loader:822:12)
at Module.require (node:internal/modules/cjs/loader:1005:19)
at require (node:internal/modules/cjs/helpers:102:18)
at Object.<anonymous> (/usr/local/lib/node_modules/npm/node_modules/socks-proxy-agent/dist/index.js:5:33)
at Module._compile (node:internal/modules/cjs/loader:1101:14)
at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10)
at Module.load (node:internal/modules/cjs/loader:981:32)
at Function.Module._load (node:internal/modules/cjs/loader:822:12)
at Module.require (node:internal/modules/cjs/loader:1005:19)
at require (node:internal/modules/cjs/helpers:102:18)
at Object.<anonymous> (/usr/local/lib/node_modules/npm/node_modules/make-fetch-happen/lib/agent.js:161:25)
at Module._compile (node:internal/modules/cjs/loader:1101:14)
Dann habe ich mit
sudo apt-get update
sudo apt-get upgrade
sudo hb-service update-node
alles aktualisiert. Lief auch durch.
Dennoch bleibt die Fehlermeldung.
Dann
sudo npm uninstall homebridge-dummy-contact -g (um genau das Plugins geht es)
auch keine Lösung
AKtuell habe ich
Homebridge 1.3.5
Node 16.13.0
NPM 8.1.0
Irgendwie scheint npm zu spinnen. das kann ich gar nicht verändern.
sudo npm install -g --unsafe-perm n
bringt dieselbe Fehlermeldung
Was kann ich machen?
Danke für Hilfe
Hallo CuriousGerman , nicht wundern, ich habe deinen Beitrag hierhin verschoben, nachdem hier jemand das gleiche Problem hat und hier bereits versucht wird eine Lösung zu finden.
ok, wenn ich npm -v mache, dann kommt die gleiche Fehlermeldung
rm -rf .npm
sudo rm -rf /root/.npm
über die Konsole ausgeführt, läuft durch, aber Fehlermeldung bei Plugin Handling bleibt
Alles was ich mit Plugins noch machen kann ist deaktivieren und EInstellungen verändern.
Keine Installation, kein Update, keine Deinstallation.
Auch Anfragen gegen npm gehen nicht mehr.
Gibt es irgendwo eine Log Datei, die man befragen kann?
Was ich hier: https://github.com/homebridge/homebridge/issues/3002 so rauslese, liegt es wohl irgendwie an Node 16.13.0 und ein downgrade auf 14.18.1 hat bei vielen dort geholfen(Wohl auch bei SeydX ). Anleitung gibt es hier: https://github.com/homebridge/…02#issuecomment-955994607
Patrick_
Hat den Titel des Themas von „Command failed. Please review log for details“ zu „Node v16.x und npm: TypeError bei Plugin De-/Installation/Update“ geändert.in welchem Verzeichnis sollte man die Sudo Kommandos ausführen?
Root oder Installationsverzeichnis der Homebridge?
Darüber wird in dem Gitgub Verzeichnis diskutiert.
ok, der Github Artikel hat geholfen
Folgendes gemacht:
im Root Verzeichnis
Codesudo hb-service update-node 14.18.1 sudo npm i -g npm sudo hb-service update-node 16.13.0 sudo npm i -g npm
Es kam dann zwar noch eine Fehlermeldung:
Code
Alles anzeigenpi@homebridge:~ $ sudo npm i -g npm removed 2 packages, changed 15 packages, and audited 219 packages in 7s 10 packages are looking for funding run `npm fund` for details 3 moderate severity vulnerabilities To address all issues, run: npm audit fix Run `npm audit` for details. pi@homebridge:~ $ npm audit npm ERR! code ENOLOCK npm ERR! audit This command requires an existing lockfile. npm ERR! audit Try creating one first with: npm i --package-lock-only npm ERR! audit Original error: loadVirtual requires existing shrinkwrap file npm ERR! A complete log of this run can be found in: npm ERR! /home/pi/.npm/_logs/2021-11-10T12_42_46_717Z-debug.log pi@homebridge:~ $ npm audit fix npm ERR! code ENOLOCK npm ERR! audit This command requires an existing lockfile. npm ERR! audit Try creating one first with: npm i --package-lock-only npm ERR! audit Original error: loadVirtual requires existing shrinkwrap file npm ERR! A complete log of this run can be found in: npm ERR! /home/pi/.npm/_logs/2021-11-10T12_43_08_497Z-debug.log
Aber das Update des Plugins lief dann durch
und auch npm -v funktioniert wieder.
und jetzt kam noch 1.3.6 von Homebridge hinterher.
Läuft auch
OK leider noch nicht zu Ende
Jetzt bekomme ich Fehlermeldungen.
Code[10/11/2021, 14:00:35] [Homebridge UI] Failed to search the npm registry - "timeout of 5000ms exceeded" - see https://git.io/JJSz6 for help.
Igendwie habe ich jetzt mehrere Instanzen von Homebridge.
Hätte ich die Sudo Kommandos nicht in der Root ausführen dürfen?
Code
Alles anzeigenpi@homebridge:/var/lib/homebridge $ npm test npm ERR! code ENOENT npm ERR! syscall open npm ERR! path /var/lib/homebridge/package.json npm ERR! errno -2 npm ERR! enoent ENOENT: no such file or directory, open '/var/lib/homebridge/package.json' npm ERR! enoent This is related to npm not being able to find a file. npm ERR! enoent npm ERR! A complete log of this run can be found in: npm ERR! /home/pi/.npm/_logs/2021-11-10T13_15_09_463Z-debug.log pi@homebridge:~ $ npm test npm ERR! code ENOENT npm ERR! syscall open npm ERR! path /home/pi/package.json npm ERR! errno -2 npm ERR! enoent ENOENT: no such file or directory, open '/home/pi/package.json' npm ERR! enoent This is related to npm not being able to find a file. npm ERR! enoent npm ERR! A complete log of this run can be found in: npm ERR! /home/pi/.npm/_logs/2021-11-10T13_16_24_954Z-debug.log
irgendwie scheint sich npm jetzt gar nicht mehr auszukennen.
Kommentar: Da hat nur die Registry gesponnen. Ist jetzt wieder weg.
hellooo
also ich hab mich mal gewagt und das node update gemacht...soweit so gut...läuft noch alles.
wenn ich jetzt aber noch homebridge und hur updaten will, bekomme ich folgenden fehler:
Code
Alles anzeigenTypeError: Class extends value undefined is not a constructor or null at Object.<anonymous> (/usr/local/lib/node_modules/npm/node_modules/socks-proxy-agent/dist/agent.js:114:44) at Module._compile (node:internal/modules/cjs/loader:1101:14) at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10) at Module.load (node:internal/modules/cjs/loader:981:32) at Function.Module._load (node:internal/modules/cjs/loader:822:12) at Module.require (node:internal/modules/cjs/loader:1005:19) at require (node:internal/modules/cjs/helpers:102:18) at Object.<anonymous> (/usr/local/lib/node_modules/npm/node_modules/socks-proxy-agent/dist/index.js:5:33) at Module._compile (node:internal/modules/cjs/loader:1101:14) at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10) at Module.load (node:internal/modules/cjs/loader:981:32) at Function.Module._load (node:internal/modules/cjs/loader:822:12) at Module.require (node:internal/modules/cjs/loader:1005:19) at require (node:internal/modules/cjs/helpers:102:18) at Object.<anonymous> (/usr/local/lib/node_modules/npm/node_modules/make-fetch-happen/lib/agent.js:161:25) at Module._compile (node:internal/modules/cjs/loader:1101:14) Command failed. Please review log for details.
dann hab ich mal geschau, ob das geklappt hab, mit der version und mit node -v wird mir 16 angezeigt. wenn ich jetzt aber über sudo n schaue, wird mir noch 14 angezeigt.
das versteh ich jetz nich
hab auch schon den ganzen pi neu gestartet aber hilft alles nichts.
weis jemand rat?
npm test
Wahrscheinlich npm -g test.
Was ich hier: https://github.com/homebridge/homebridge/issues/3002 so rauslese, liegt es wohl irgendwie an Node 16.13.0 und ein downgrade auf 14.18.1 hat bei vielen dort geholfen(Wohl auch bei SeydX ). Anleitung gibt es hier: https://github.com/homebridge/…02#issuecomment-955994607
Danke, Downgrade war die Lösung. Jetzt läuft wieder alles .Gruß forester
Heute wollte ich beim Plugin Homebridge Dyson Pure Cool die neu verfügbare Version installieren. Unter 16.13.0 lief das Update mit ähnlichen Fehlermeldungen schief. (Leider nicht kopiert) Ich musste zuerst wieder zurück auf 14.18.1, dann das Update durchführen und dann wieder zurück zu 16.13.0. Anstrengend. Ich hoffe das wird bald fixiert. Leider schimpfen unter 14.18.1 andere Plug-Ins von mir, wegen überalterter Node.
npm - g test
liefert unter node 16.3.0 immer noch:
npm ERR! code ENOENT
npm ERR! syscall open
npm ERR! path //package.json
npm ERR! errno -2
npm ERR! enoent ENOENT: no such file or directory, open '//package.json'
npm ERR! enoent This is related to npm not being able to find a file.
npm ERR! enoent
npm ERR! A complete log of this run can be found in:
npm ERR! /home/pi/.npm/_logs/2021-11-15T21_52_01_251Z-debug.log
Und im Log File steht:
0 verbose cli [ '/usr/local/bin/node', '/usr/local/bin/npm', '-g', 'test' ]
1 info using [email protected]
2 info using [email protected]
3 timing npm:load:whichnode Completed in 0ms
4 timing config:load:defaults Completed in 5ms
5 timing config:load:file:/usr/local/lib/node_modules/npm/npmrc Completed in 4ms
6 timing config:load:builtin Completed in 4ms
7 timing config:load:cli Completed in 6ms
8 timing config:load:env Completed in 1ms
9 timing config:load:project Completed in 2ms
10 timing config:load:file:/home/pi/.npmrc Completed in 0ms
11 timing config:load:user Completed in 0ms
12 timing config:load:file:/usr/local/etc/npmrc Completed in 0ms
13 timing config:load:global Completed in 0ms
14 timing config:load:validate Completed in 1ms
15 timing config:load:credentials Completed in 3ms
16 timing config:load:setEnvs Completed in 3ms
17 timing config:load Completed in 26ms
18 timing npm:load:configload Completed in 26ms
19 timing npm:load:setTitle Completed in 0ms
20 timing npm:load:setupLog Completed in 2ms
21 timing config:load:flatten Completed in 9ms
22 timing npm:load:cleanupLog Completed in 5ms
23 timing npm:load:configScope Completed in 0ms
24 timing npm:load:projectScope Completed in 1ms
25 timing npm:load Completed in 48ms
26 timing command:run-script Completed in 5ms
27 timing command:test Completed in 14ms
28 verbose stack Error: ENOENT: no such file or directory, open '/home/pi/package.json'
29 verbose cwd /home/pi
30 verbose Linux 5.10.63-v7l+
31 verbose argv "/usr/local/bin/node" "/usr/local/bin/npm" "-g" "test"
32 verbose node v16.13.0
33 verbose npm v8.1.0
34 error code ENOENT
35 error syscall open
36 error path /home/pi/package.json
37 error errno -2
38 error enoent ENOENT: no such file or directory, open '/home/pi/package.json'
39 error enoent This is related to npm not being able to find a file.
40 verbose exit -2
Was geht schief?
Hallo Community
Ich wollte heute das Update auf Homebridge 1.3.6 aufspielen. Jedoch kommt folgende Fehlermeldung und ich weiss nicht, woran das liegen könnte.
(PS: Auch das HUE-Plugin zeigt mir ein Update an, aber auch da kommt in etwa diesselbe Fehlermeldung!)
Code
Alles anzeigenUSER: homebridge DIR: /usr/local CMD: sudo -E -n npm install -g homebridge-hue@latest TypeError: Class extends value undefined is not a constructor or null at Object.<anonymous> (/usr/local/lib/node_modules/npm/node_modules/socks-proxy-agent/dist/agent.js:114:44) at Module._compile (node:internal/modules/cjs/loader:1101:14) at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10) at Module.load (node:internal/modules/cjs/loader:981:32) at Function.Module._load (node:internal/modules/cjs/loader:822:12) at Module.require (node:internal/modules/cjs/loader:1005:19) at require (node:internal/modules/cjs/helpers:102:18) at Object.<anonymous> (/usr/local/lib/node_modules/npm/node_modules/socks-proxy-agent/dist/index.js:5:33) at Module._compile (node:internal/modules/cjs/loader:1101:14) at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10) at Module.load (node:internal/modules/cjs/loader:981:32) at Function.Module._load (node:internal/modules/cjs/loader:822:12) at Module.require (node:internal/modules/cjs/loader:1005:19) at require (node:internal/modules/cjs/helpers:102:18) at Object.<anonymous> (/usr/local/lib/node_modules/npm/node_modules/make-fetch-happen/lib/agent.js:161:25) at Module._compile (node:internal/modules/cjs/loader:1101:14) Command failed. Please review log for details.
Kann mir da jemand weiterhelfen?
Meine Homebridge läuft auf einem Raspi. Sagt mir, wenn ihr noch weiter Angaben benötigt.
und ich weiss nicht, woran das liegen könnte.
Ich schon, deswegen hab ich deinen Beitrag hierhin verschoben
Bitte mal das hier versuchen: https://github.com/homebridge/…02#issuecomment-955994607
Es besteht aktuell ein Problem mit einer alten npm Version, die unter der neuen NodeJS Version 16 zu Fehlermeldungen führt, die mit
beginnen.
Das Problem ist bereits bei Homebridge bekannt https://github.com/homebridge/homebridge/issues/3002 und betrifft sowohl das Updaten von Homebridge selber als auch durch die Bank das Updaten, die Installation und Deinstallation sämtlicher Homebridge-Plugins.
Ein Workaround, der bei den meisten geholfen hat ist hier beschreiben: https://github.com/homebridge/…02#issuecomment-955994607
Folgende Schritte sind demnach für diejenigen, die hb-service verwenden durchzuführen:
1. Downgrade auf node 14.18.1
sudo hb-service update-node 14.18.1
2. Update npm auf die latest version 8sudo npm i -g npm
3. Update node auf 16.13.0
sudo hb-service update-node 16.13.0
4. Re-update npm auf die latest Version 8
sudo npm i -g npm