NEWS
Kommandozeile lässt sich nicht mehr öffnen
-
Hallo, ich habe unter Windows im iobroker ordner node-js auf 14.x geupdatet.
Nun klappt es nicht mehr die kommandozeile zu öffnen.kann mir jemand helfen?
-
Ich kann jetzt natürlich kein Backup machen.
Kann ich alternativ auch einfach den Ordner kopieren als Backup? -
@ben1983 Kann mir das jemand beantworten?
-
@ben1983 Du hast in dem anderen Thread, als Du node.js für den iobroker aktualisiert hast, ja Deinen eigenen Weg gewählt.
Da hast Du dann https://forum.iobroker.net/topic/44646/node-js-update-unter-windows/7?_=1621354837244
geschrieben, dass Du eine nodevars.bat nicht kopiert hast.Im Startmenü wird jedoch genau darauf hinverwiesen:
Da sind die Umgebungsvariablen drin. In dieser Datei steht folgendes Drin:
@echo off rem Ensure this Node.js and npm are first in the PATH set "PATH=%APPDATA%\npm;%~dp0;%PATH%" setlocal enabledelayedexpansion pushd "%~dp0" rem Figure out the Node.js version. set print_version=.\node.exe -p -e "process.versions.node + ' (' + process.arch + ')'" for /F "usebackq delims=" %%v in (`%print_version%`) do set version=%%v rem Print message. if exist npm.cmd ( echo Your environment has been set up for using Node.js !version! and npm. ) else ( echo Your environment has been set up for using Node.js !version!. ) popd endlocal rem If we're in the Node.js directory, change to the user's home dir. if "%CD%\"=="%~dp0" cd /d "%HOMEDRIVE%%HOMEPATH%"
ggf. musst Du halt nun alles manuell so hinbiegen, dass die geänderten Pfade berücksichtigt werden.
Im Prinzip wird in der Batch datei eine andere cmd aufgerufen, die npm.cmd.
:: Created by npm, please don't edit manually. @ECHO OFF SETLOCAL SET "NODE_EXE=%~dp0\node.exe" IF NOT EXIST "%NODE_EXE%" ( SET "NODE_EXE=node" ) SET "NPM_CLI_JS=%~dp0\node_modules\npm\bin\npm-cli.js" FOR /F "delims=" %%F IN ('CALL "%NODE_EXE%" "%NPM_CLI_JS%" prefix -g') DO ( SET "NPM_PREFIX_NPM_CLI_JS=%%F\node_modules\npm\bin\npm-cli.js" ) IF EXIST "%NPM_PREFIX_NPM_CLI_JS%" ( SET "NPM_CLI_JS=%NPM_PREFIX_NPM_CLI_JS%" ) "%NODE_EXE%" "%NPM_CLI_JS%" %*
Die Pfade kannst auch überprüfen, die haben sich bei Dir wahrscheinlich auch alle geändert. Standardmässig ist dort:
Path=C:\Users\<userid>\AppData\Roaming\npm;C:\Program Files\nodejs\;
eingtragen
-
@mickym Sieht bei mir alles genauso aus, wie es bei deinem Post drin steht.
Aber wo steht denn ....
Path=C:\Users\<userid>\AppData\Roaming\npm;C:\Program Files\nodejs\;
drin?
-
@ben1983 Wenn Du auf der Kommandozeile das Kommando SET oder SET PATH aufrufst, dann muss dieser Pfad eben enthalten sein, sonst ist genau das Dein Problem.
-
@mickym wie gesagt, die Pfade gibt es ja und die Dateien sehen genauso aus wie von dir gezeigt.
Finde jetzt keinen Unterschied. -
@ben1983 Ich kann Dir dann auch nicht mehr weiterhelfen. Ich würde - ohne Erfolgsgarantie und mit Sicherung des node-js Verzeichnisses für den iobroker, den Windowsinstaller nochmals anschmeißen und ihn nicht in das Standardverzeichnis, sondern in das Verzeichnis, in dem der iobroker es braucht installieren lassen.
-
@mickym Wie wo er es Braucht?
Ich habe es doch im normalen Verzeichnis und auch dort das node.js update installiert.
Mir graut es schon davor, wen ich wirklich mal neu installieren muss.
Naja obwohl ich alles in skripten verarbeitet habe. -
@ben1983 Nicht alles neuinstallieren, sondern nur Node.js
Hier wurde das auch für das Update empfohlen: https://phoenixnap.com/kb/update-node-js-version
So und in dem anderen Thread habe ich Dir doch nur empfohlen, statt dem Standardpfad das Verzeichnis auszuwählen, in dem der iobroker node.js installiert hat:
-
@mickym genau dort habe ich Node.js ja installiert. Seit dem habe ich ja das Problem, dass ich kein Backup mehr machen kann.
-
@ben1983 sagte in Kommandozeile lässt sich nicht mehr öffnen:
@mickym genau dort habe ich Node.js ja installiert. Seit dem habe ich ja das Problem, dass ich kein Backup mehr machen kann.
Hast Du den Pfad denn auch so geändert, dass er node.js nicht mehr in das C:\Programm Files - Verzeichnis installiert hat, sondern in das Verzeichnis, das der iobroker bei der Installation angelegt hat? - Ich denke mal die iobroker installation hat das node.js Verzeichnis sicher unter C:\iobroker .... installiert.
Dann hätte man für das Update noch die Option 2 nehmen können und dann mit npm die node.js Version updaten können.
Aber wenn das nicht hilft, dann kann ich Dir auch nicht mehr helfen.
-
@mickym gibt es hier eine Lösung?
Kann ja leider so keine gescheiten backups machen.Gibts eventuell einen neuen WIndws installer, der die Version "überbügelt"?
-
@ben1983 Keine Ahnung - ich habe meine node.js Version nur für eine Node-Red Testinstallation unter Windows laufen. Sonst läuft bei ja alles auf einem Raspberry.
Wie gesagt schau halt, dass Du in das Verzeichnis installierst das iobroker hat. Mit dem Standardverzeichnis unter Windows habe ich keine Probleme.
Du musst halt wissen in welchem Verzeichnis der iobroker seine eigene nodejs Version unter Windows installiert hat.Inzwischen gibt es alle aktuellen Versionen von nodejs unter Windows.
Hatte erst V 14.15.4 - haben dann auf latest installiert,
das war dann v16.4.0 mit npm v7.x. Das sind aber keine von iobroker supportete Funktionen und bin auf die latest V14 zurückgegangen mit npm v6 - hat alles funktioniert:
C:\Users\mickym>node -v v14.15.4 C:\Users\mickym>node -v v16.4.0 C:\Users\mickym>npm -v 7.18.1 C:\Users\mickym>node -v v14.17.1 C:\Users\mickym>npm -v 6.14.13
Also LTS nicht Current installieren. Wenn Current installiert ist, dann mit Remove entfernen. Vorher iobroker stoppen.
Im Übrigen ist im Installer auch immer die Option Add To Path enthalten.
Also Installer ggf. nochmal via Change oder Repair aufrufen.
-
@mickym ich kann ja iobroker nicht stoppen, da er die konsole nicht richtig startet
-
@ben1983 Wie gesagt ich kenn iobroker unter windows nicht - aber läuft der als Dienst - ansonsten müsstest Du ihn in jedem Fall über den Task-Manager killen können.
Oder zumindest solltest Du dann die Java Runtime Umgebung killen können, damit Du updaten kannst:
-
@mickym Also muss ich wohl noch warten, bis es einen neuen installer gibt
Habe ja das passende Verzeichnis gewählt -
@ben1983 Ich dachte das hat doch alles schon mal funktioniert. Kannst Du nicht die Situation wiederherstellen, die Du gehabt hast - wie das vorher war.
Wie wäre es denn mit einem Backup und einer kompletten Neuinstallation?
Warum sollte es denn einen anderen Installer geben? Kannst Du über den Installer nicht mal Deine Installation reparieren?
Was hast Du denn schon alles probiert?
-
@mickym Ich habe ja so das entsprechend aktuellere Node.js drauf. vorher hat er ja immer gemeckert. und nach der installation, ging dann eine konsole und kein update mehr.
Möchte jetzt ungerne alle adapter wieder nach einer neuinstallation neu anlegen (Denn es geht ja kein Backup mehr) -
@ben1983 Du könntest aber wie gesagt entweder Reparieren mit dem Installer oder node.js komplett entfernen und neu installieren.
Nur auf einen anderen Installer zu warten halte ich nicht für erfolgversprechend, weil das Ding ja funktioniert.
Wie gesagt ich habe hier gerade mal mein Latest komplett deinstalliert und dann die 14.x wieder installiert. Nur kann ich Dir schlecht raten, den wenn Dein iobroker nicht mehr funktioniert. Die Neuinstallation der Adapter finde ich jetzt gar nicht so schlimm.
Der Hauptaufwand wäre wahrscheinlich zigbee. Falls Du irgendwelche Skripte hast, die kann man sicherlich manuell irgendwo wegsichern.
Ich denke auf einen neuen Installer zu hoffen, halte ich eher für nicht zielführend.
Sorry das ich hier nicht weiter unterstützen kann.