NEWS
[gelöst] ioBroker js-controller Upgrade Wahnsinn
-
Hallo zusammen,
ich reiße mir bald die letzten Haare aus. Jedesmal, wenn ich versuche, den js-controller upzugraden, fliegt mir das Upgrade um die Ohren.
Diesmal nachfolgendes.
Wer kann helfen?
Wer kann mir sagen, wie ich bei künftigen Upgrades nicht mehr verzweifle?
Danke!!
ak@homie:/opt/iobroker$ sudo iobroker upgrade self npm install iobroker.js-controller@1.2.0 --production --prefix "/opt/iobroker" (System call) npm ERR! Linux 4.4.0-97-generic npm ERR! argv "/usr/bin/node" "/usr/bin/npm" "install" "iobroker.js-controller@1.2.0" "--production" "--prefix" "/opt/iobroker" npm ERR! node v6.11.4 npm ERR! npm v3.10.10 npm ERR! path /opt/iobroker/node_modules/.staging/semver-b9b5964d npm ERR! code ENOENT npm ERR! errno -2 npm ERR! syscall rename npm ERR! enoent ENOENT: no such file or directory, rename '/opt/iobroker/node_modules/.staging/semver-b9b5964d' -> '/opt/iobroker/node_modules/npm/node_modules/semver' npm ERR! enoent ENOENT: no such file or directory, rename '/opt/iobroker/node_modules/.staging/semver-b9b5964d' -> '/opt/iobroker/node_modules/npm/node_modules/semver' npm ERR! enoent This is most likely not a problem with npm itself npm ERR! enoent and is related to npm not being able to find a file. npm ERR! enoent npm ERR! Please include the following file with any support request: npm ERR! /opt/iobroker/npm-debug.log host.homie Cannot install iobroker.js-controller@1.2.0: 254
-
Hi,
hast Du zuerst mal ein
sudo iobroker update
ausgeführt?
Damit wird Dein lokales Repository mit dem aktuellen (im Internet) abgeglichen (siehe Doku hier : https://github.com/ioBroker/ioBroker/wi … sitory-url)
Welches Repository resp. Verwahrungsort nutzt du?
Mit
sudo iobroker update | grep Update
kannst Du dann auch gleich sehen, für welche Adapter, usw. es Updates gibt.
Gruß,
Eric
-
Das kann damit an sich nichts zu tun haben. Da ist was im System komisch. Mal ein
npm cache clean
Versucht.
-
Das kann damit an sich nichts zu tun haben. Da ist was im System komisch. Mal ein
npm cache clean
Versucht. `
Das hatte ich tatsächlich noch nicht versucht.
Jetzt schon.
Das Ergebnis bleibt aber das gleiche.
-
dann mach mal bitte (erneut)
cd /opt/iobroker sudo npm cache clean sudo iobroker stop sudo npm install iobroker.js-controller sudo iobroker start
Viel Glück
Rainer
-
dann mach mal bitte (erneut)
cd /opt/iobroker sudo npm cache clean sudo iobroker stop sudo npm install iobroker.js-controller sudo iobroker start
Viel Glück
Rainer `
Jepp. Führt genau zu obigem Fehler.
Egal ob update self oder nom install.
-
Danke!
Was ist das für ein Pfad?
npm ERR! path /opt/iobroker/node_modules/.staging/semver-b9b5964d
Gruß
Rainer
-
Ein temporärer, der von NPM bei der Installation erstellt wird.
-
rechte ??
-
rechte ?? `
Sollten angesichts sudo doch keine Rolle spielen?
Fakt ist aber: Dieser Pfad existiert nicht.
-
-
Sollten angesichts sudo doch keine Rolle spielen? `
Jein, Unterprozesse werden von npm trotz sudo mit verringerten Rechten ausgeführt, wenn nicht das "–unsafe-perm"-Flag angegeben wird. -
Sollten angesichts sudo doch keine Rolle spielen?
Jein, Unterprozesse werden von npm trotz sudo mit verringerten Rechten ausgeführt, wenn nicht das "–unsafe-perm"-Flag angegeben wird.
Dann folgendes Ergebnis:
sudo npm install iobroker.js-controller@1.2.0 --production --prefix "/opt/iobroker" --unsafe-perm npm WARN deprecated tar.gz@1.0.7: ⚠️ WARNING ⚠️ tar.gz module has been deprecated and your application is vulnerable. Please use tar module instead: https://npmjs.com/tar iobroker@1.0.0 /opt/iobroker ├── mime@1.4.1 extraneous ├── node-schedule@1.2.5 extraneous ├── tar.gz@1.0.7 extraneous ├── winston@2.4.0 extraneous └── winston-daily-rotate-file@1.7.2 extraneous npm ERR! Linux 4.4.0-97-generic npm ERR! argv "/usr/bin/node" "/usr/bin/npm" "install" "iobroker.js-controller@1.2.0" "--production" "--prefix" "/opt/iobroker" "--unsafe-perm" npm ERR! node v6.11.4 npm ERR! npm v3.10.10 npm ERR! path /opt/iobroker/node_modules/.staging/semver-b9b5964d npm ERR! code ENOENT npm ERR! errno -2 npm ERR! syscall rename npm ERR! enoent ENOENT: no such file or directory, rename '/opt/iobroker/node_modules/.staging/semver-b9b5964d' -> '/opt/iobroker/node_modules/npm/node_modules/semver' npm ERR! enoent ENOENT: no such file or directory, rename '/opt/iobroker/node_modules/.staging/semver-b9b5964d' -> '/opt/iobroker/node_modules/npm/node_modules/semver' npm ERR! enoent This is most likely not a problem with npm itself npm ERR! enoent and is related to npm not being able to find a file. npm ERR! enoent npm ERR! Please include the following file with any support request: npm ERR! /opt/iobroker/npm-debug.log
-
Probier mal
sudo npm cache clean
vor der Installation
-
Probier mal
sudo npm cache clean
vor der Installation `
Das hatten wir doch weiter oben schon, oder?
Hat auch nicht funktioniert.
-
Sorry, hatte ich nicht auf dem Schirm.
-
Sorry, hatte ich nicht auf dem Schirm. `
Lieber ein Tipp zu viel, als einer zu wenig.
Hätte das Ding gerne wieder in aktueller Version am Laufen.
-
rechte ?? `
Sollten angesichts sudo doch keine Rolle spielen?
Fakt ist aber: Dieser Pfad existiert nicht. `
trotzdem waere es sinvoll mal:
sudo chmod -R 777 /opt/iobroker ````\ aus zu fuehren ~Dutch `
Nope. Gleiches Problem.
Außerdem probiert:
einen````
chown -R root /opt/iobrokereinen```` chgrp -R root /opt/iobroker
das gleiche mit einem unverdächtigen User und den Upgrade ohne sudo und mit sudo versucht.
Es kommt immer auf's gleiche raus.
-
Dateisystem kaputt?
Man kann so machen:
cd /opt/iobroker sudo iobroker stop mv node_modules node_modules_ sudo npm cache clean npm i npm@latest-3 -g npm i iobroker.js-controller --production npm i iobroker.admin --production npm i iobroker.discovery --production sudo iobroker start
Und warten…. ioBroker installiert dann alle fehlende Adapter.
Achtung! Alle installierte module werden dabei gelöscht (moved) und neu installiert.
-
Dateisystem kaputt?
Man kann so machen:
cd /opt/iobroker sudo iobroker stop mv node_modules node_modules_ sudo npm cache clean npm i npm@latest-3 -g npm i iobroker.js-controller --production npm i iobroker.admin --production npm i iobroker.discovery --production sudo iobroker start
Und warten…. ioBroker installiert dann alle fehlende Adapter.
Achtung! Alle installierte module werden dabei gelöscht (moved) und neu installiert. `
That did the trick!
Danke.
Keine Ahnung, was da schief war…