NEWS
Probleme von update auf neuste version
-
Ich habe noch die Version js.controller version 1.20 und wollte auf die neuste Version updaten aber leider das geht das nicht mehr. Ich bekomme die unten angezeigte Fehlermeldung. Ich habe schon diverse Sachen versucht, npm neu installiert, Phyton upgedated,… Wenn ich die alte Version zurück spiele existiert der Ordner ansistyles. Er wird also während des updates gelöscht.
C:\ioBroker>iobroker upgrade self C:\ioBroker>node node_modules/iobroker.js-controller/iobroker.js upgrade self Update js-controller from @1.2.0 to @1.2.3 npm install iobroker.js-controller@1.2.3 --production --prefix "C:/ioBroker" (System call) npm WARN deprecated localhost.daplie.me-certificates@1.3.5: this package has been deprecated npm ERR! path C:\ioBroker\node_modules\iobroker.js-controller\node_modules\npm\node_modules\ansistyles npm ERR! code ENOENT npm ERR! errno -4058 npm ERR! syscall rename npm ERR! enoent ENOENT: no such file or directory, rename 'C:\ioBroker\node_modules\iobroker.js-controller\node_modules\npm\node_modules\ansistyles' -> 'C:\ioBroker\node_modules\iobroker.js-controller\node_modules\npm\node_modules\.ansistyles.DELETE' 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! C:\Users\Media PC\AppData\Roaming\npm-cache\_logs\2017-12-26T20_14_52_193Z-debug.log host.MediaPC Cannot install iobroker.js-controller@1.2.3: 4294963238
Ich habe auch schonmal versucht die nur den js.controller upzudaten und dann bekomme ich die unten stehende Fehlermeldung.
Was ich daran nicht verstehe ist der Teil mit der Phyton EXE. Die Datei existiert genau in dem Pfad der dort angegeben ist.
C:\ioBroker>npm install iobroker.js-controller npm WARN deprecated localhost.daplie.me-certificates@1.3.5: this package has been deprecated > unix-dgram@0.2.3 install C:\ioBroker\node_modules\unix-dgram > node-gyp rebuild C:\ioBroker\node_modules\unix-dgram>if not defined npm_config_node_gyp (node "C:\Users\Media PC\AppData\Roaming\npm\node_modules\npm\node_modules\npm-lifecycle\node-gyp-bin\\..\..\node_modules\node-gyp\bin\node-gyp.js" rebuild ) else (node "C:\Users\Media PC\AppData\Roaming\npm\node_modules\npm\node_modules\node-gyp\bin\node-gyp.js" rebuild ) gyp ERR! configure error gyp ERR! stack Error: Can't find Python executable "C:\Users\Media PC\AppData\Local\Programs\Python\Python36-32\python.EXE", you can set the PYTHON env variable. gyp ERR! stack at PythonFinder.failNoPython (C:\Users\Media PC\AppData\Roaming\npm\node_modules\npm\node_modules\node-gyp\lib\configure.js:483:19) gyp ERR! stack at PythonFinder. <anonymous>(C:\Users\Media PC\AppData\Roaming\npm\node_modules\npm\node_modules\node-gyp\lib\configure.js:508:16) gyp ERR! stack at C:\Users\Media PC\AppData\Roaming\npm\node_modules\npm\node_modules\graceful-fs\polyfills.js:284:29 gyp ERR! stack at FSReqWrap.oncomplete (fs.js:152:21) gyp ERR! System Windows_NT 10.0.16299 gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\Users\\Media PC\\AppData\\Roaming\\npm\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild" gyp ERR! cwd C:\ioBroker\node_modules\unix-dgram gyp ERR! node -v v8.9.3 gyp ERR! node-gyp -v v3.6.2 gyp ERR! not ok</anonymous>
MOD-Edit by eric2905, Formatierung entfernt und stattdessen Code-Tags gesetzt
-
Hi,
Hast du mal versucht den js-Controller mit den Befehlen upzudaten die der Admin angibt:
cd /opt/iobroker sudo iobroker stop sudo iobroker update sudo iobroker upgrade self sudo iobroker start
Gruß
-
Hallo,
das habe ich auch versucht aber das Ergebnis ist das gleiche.
Stephan
-
welche node und npm version hast du ?
node -v npm -v
-
@stephanstricker:gyp ERR! node -v v8.9.3
gyp ERR! node-gyp -v v3.6.2 `
Ist aber windoof -
@stephanstricker:Hallo,
das habe ich auch versucht aber das Ergebnis ist das gleiche.
Stephan `
Also auch mit stop iobroker usw?
Im log ist das nämlich nicht zu sehen.
Und was steht in dem NPM error log welches am Ende des Install logs erwähnt ist?
In wegen dem Python problem mal Google danach „you can set the python env variable“ befragt ?
Gesendet von iPad mit Tapatalk Pro
-
Ich habe das Problem indirekt gelöst indem ich eine ältere Backup zurück gespielt habe. Beim update kam zwar auch wieder die Fehlermeldung das Python nicht gefunden werden kann aber trotzdem war das Update anscheinend erfolgreich. Ich habe damals nach der Fehlermeldung gesucht aber nichts gefunden. Der Hinweis mit den Thread mit ENV ist auf jeden Fall einen Versuch wert. Das Python Verzecihnis ist bereits in der Pfad Liste enthalten aber ich habe jetzt auch nochmal eine Variable PHYTHON mit dem ganzen Pfad hinzugefügt. Leider kann ich das jetzt nicht mehr testen weil die Version auf dem aktuellen Stand ist. Ich werde das beim nächsten update testen. Trotzdem nochmal Danke für Hilfe.
Stephan
-
ich wollte auch gerade ein Update fahren, weil ich gesehen habe, dass mein js-controller in der Version 1.2.1 vorliegt.
cd /opt/iobroker sudo iobroker stop sudo iobroker update sudo iobroker upgrade self sudo iobroker start
dabei habe ich mit Putty eine Verbindung zum ioBroker aufgenommen und gleich beim ersten Befehl einen Fehler erhalten:
pi@ioBroker-Pi:~ $ cd /opt/iobroker pi@ioBroker-Pi:/opt/iobroker $ sudo iobroker stop module.js:471 throw err; ^ Error: Cannot find module '/usr/local/www/iobroker/node_modules/iobroker.js-controller/iobroker.js' at Function.Module._resolveFilename (module.js:469:15) at Function.Module._load (module.js:417:25) at Module.runMain (module.js:604:10) at run (bootstrap_node.js:383:7) at startup (bootstrap_node.js:149:9) at bootstrap_node.js:496:3
Ein Backup habe ich noch nicht, da der ioBroker erst vor ein paar Tagen frisch per Image auf meinen Pie gekommen ist
Ein Verzeichnis "www" gibt es auch garnicht unter /usr/local
Nachtrag:
node: v6.12.0
npm: 3.10.10
-
Error: Cannot find module '/usr/local/www/iobroker/node_modules/iobroker.js-controller/iobroker.js' `
Anscheinend wurde der Inhalt der Datei /usr/bin/iobroker bei der Installation nicht an den tatsächlichen Pfad angepasst. Der Inhalt meiner Datei istnode /opt/iobroker/node_modules/iobroker.js-controller/iobroker.js $1 $2 $3 $4 $5
Ändere usr/local/www in opt.
-
Der Inhalt der Datei /opt/iobroker/iobroker stimmt mit deiner beschreibung überein. Soweit alles gut
damit wird ja iobroker.js aufgerufen. Hier findet sich lediglich folgende Zeile als Inhalt:
require(__dirname + '/lib/setup.js').execute();
Schau:
pi@ioBroker-Pi:/opt/iobroker $ more iobroker node node_modules/iobroker.js-controller/iobroker.js $1 $2 $3 $4 $5 pi@ioBroker-Pi:/opt/iobroker $ cd node_modules/ pi@ioBroker-Pi:/opt/iobroker/node_modules $ cd iobroker.js-controller/ pi@ioBroker-Pi:/opt/iobroker/node_modules/iobroker.js-controller $ more iobroker.js require(__dirname + '/lib/setup.js').execute();
erst in der Datei
/opt/iobroker/node_modules/iobroker.js-controller/lib/setup.js
befindet sich der eigentliche Code.
Hier möchte ich aber zunächst mal nix ändern. Ist mir ohne offizieller Anleitung und Ok zu Joker.
-
Der Inhalt der Datei /opt/iobroker/iobroker stimmt mit deiner beschreibung überein. `
Diese Datei befindet sich nicht im Suchpfad, sondern die Datei /usr/bin/iobroker (s.o) !Wenn Du mit der Datei /opt/iobroker/iobroker arbeiten willst, must Du sie so aufrufen:
cd /opt/iobroker sudo ./iobroker stop
-
Der Inhalt der Datei /opt/iobroker/iobroker stimmt mit deiner beschreibung überein. `
Diese Datei befindet sich nicht im Suchpfad, sondern die Datei /usr/bin/iobroker (s.o) !Wenn Du mit der Datei /opt/iobroker/iobroker arbeiten willst, must Du sie so aufrufen:
cd /opt/iobroker sudo ./iobroker stop ```` `
perfekt. Das war es.
Ich komme mir gerade so dumm vor. Steht das irgendwo? Denn im Popup des nodes kam ja nur die Liste ohne ./
-
Steht das irgendwo? Denn im Popup des nodes kam ja nur die Liste ohne ./ `
Nein. Normalerweise stimmt der Inhalt der Datei /usr/bin/iobroker und der Aufruf mitsudo iobroker stop
funktioniert. Deshalb habe ich dir in meinem ersten Post geraten, die Datei /usr/bin/iobroker zu reparieren.
Was ergibt ?
more /usr/bin/iobroker