Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. [How-to] Node.js für ioBroker richtig updaten

    NEWS

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    [How-to] Node.js für ioBroker richtig updaten

    This topic has been deleted. Only users with topic management privileges can see it.
    • Stabilostick
      Stabilostick last edited by Homoran

      MOD-EDIT: Dieser Thread und insbesondere diese Anleitung ist von 2019 und somit veraltet

      aktuell ist
      https://forum.iobroker.net/topic/35090/howto-nodejs-installation-und-upgrades-unter-debian


      Update März 2023: Die aktuelle Anleitung findet ihr hier : https://forum.iobroker.net/topic/64032/update-nodejs-best-practise-supported-14-16-und-18

      1. Einleitung

      Node.js ist die Laufzeitumgebung der Programmiersprache JavaScript, in der ioBroker geschrieben ist. Ohne Node.js funktioniert ioBroker nicht.

      Wie bei vielen Open-Source-Technologien üblich, entwickelt sich Node.js schnell weiter. Kleinere Updates, die die Stabilität und Sicherheit steigern oder gar neue Funktionen hinzufügen, erscheinen fast wöchentlich.

      Node.js-Versionen mit gerader Hauptversionsnummer werden als LTS-Versionen (Long Term Support) bezeichnet und einige Jahre gepflegt (z.B. 8.x). In 2017 war das Node.js 8, 2018 kam Node.js 10, dann 12.x hinzu und im Oktober 2021 wird Node.js 14 den LTS-Status erhalten.

      Im gleichem Zug erreichen frühere LTS-Versionen ihr Lebensende (EOL, End of Life). So hat Node.js 6 im April 2019 den EOL-Status erhalten und bekommt damit keine Updates mehr, Nodejs 8.x ist seit November 2019 raus.

      Alle Node.js-Versionen mit ungeraden Versionsnummern sind Entwicklungsversionen und sollten nicht produktiv genutzt werden.

      Auch ioBroker wird stetig weiterentwickelt und nutzt die neuen Funktionen aktueller Node.js-Versionen. Obwohl der ioBroker js-controller mit Versionen 1.4.x bzw. 1.5.x noch Node.js 4 unterstützt, fordern neue Adapter immer häufiger mindestens Node.js 8 als Grundvoraussetzung.

      Ab der Version 2.0 des js-controllers (das Freigabedatum ist noch nicht bekannt) sind die Anpassungen so tiefgreifend, dass die Node.js-Versionen 4 und 6 nicht mehr unterstützt werden können.

      Ab Version 3.0/3.1 vom Controller, der gerade (Stand 24.4.2020) im Latest Repository ist, wird Nodejs 10.x Minimum sein.

      Alle paar Jahre steht also für eine ioBroker-Installation ein Update von Node.js an. Dieser Artikel soll zusammenfassen wir man dazu am besten vorgeht.

      2. Wer sollte updaten?

      Aktuell empfehlen wir, bei ioBroker-Neuinstallationen mindestens Node.js 10, besser noch 12.x. zu verwenden. Es sind wenige Adapter bekannt, die nicht mit Node 10/12 funktionieren: Details dazu in https://forum.iobroker.net/topic/30561/status-iobroker-und-node-js-12-x

      Windows-Anwendern empfehlen wir, auf jeden Fall am Test des neuen Windows-Installers teilzunehmen: https://forum.iobroker.net/post/266623
      Der zukünftige Windows-Installer für ioBroker wird eine Funktion erhalten, bestehende Installationen automatisch auf aktuelle js-controller- und Node.js-Versionen zu migrieren, ohne dass man die Kommandozeile bemühen muss.

      Bevor man beginnt, sollte man in der Befehlszeile mit dem Befehl

      node -v
      

      überprüfen, welche Version von Node.js gerade installiert ist. Eine gute Idee ist es, diese Versionsangabe auch mit der Node.js-Version im Übersichts-Fenster des ioBroker-Admins für diesen Host zu vergleichen. Sollten sich die Versionen unterscheiden, sind mehrere Node.js-Varianten installiert, was zu Problemen führen kann.

      Grundsätzlich gilt: Sollte das ioBroker-System stabil laufen, muss Node.js auch nicht auf Gedeih und Verderb upgedated werden. Wenn aber die Installation bestimmter Adapter fehlschlägt (wohlmöglich sogar mit entsprechender Fehlermeldung) oder eine Node-Version < 4 für einen js-controller > Version 1.4.x eingesetzt wird, sollte über ein Node.js-Update nachgedacht werden. Es sind auch Probleme für die Node.js-Versionen 8.0 - 8.12 mit volllaufendem RAM bekannt, so dass wir auch hier ein Update empfehlen.

      Wie bereits gesagt: Sollte das ioBroker-System stabil laufen und ist die Installation technisch nicht gefordert, muss Node.js auch nicht auf Gedeih und Verderb upgedated werden.

      3. Was sollte ich vor dem Update tun?

      Hinweis: Falls die Version des js-controllers <= 1.5.12 ist, muss VOR dem Update in den Einstellungen der Admin-Instanz "Verschlüsselung (https) benutzen" ausgeschaltet werden. Das in ioBroker bis dahin integrierte Zertifikat kann zu Problemen beim Starten des Admin bei Node.js-Versionen >= 10 führen.

      Damit es nach dem Update zu keinen Inkompatibilitäten oder Probleme kommt sollte man alle Adapter prüfen und aktualisieren. Vor allem Adapter mit nativen Bestandteilen, wie alles mit Serialport oder Bluetooth können Probleme bereiten. Hier am besten die Adapter-Readme's per Admin oder im GitHub prüfen, ob neue Versionen zur Verfügung stehen die die geplante Node.js Version explizit erst unterstützen. Auch wenn diese Versionen ggf. noch im "Latest" Repository sind muss man diese vorher aktualisieren. Alternativ wartet man mit der ganzen Update-Aktion bis die neuen Versionen im "Stable" Repository sind, schreibt den Entwickler dazu an oder fragt im Forum nach.

      Wenn man diesen Schritt nicht durchführt kann es zu unnötigen Problemen beim update der Adapter kommen!

      4. Step-by-step-Anleitung für Unix-Systeme

      • Zuerst muss natürlich unbedingt ein Backup erstellt werden. Dazu kann z.B. der BackItUp-Adapter genutzt oder der Kommandozeilenbefehl

        cd /opt/iobroker
        iobroker backup
        

        ausgeführt werden. Das Backup sollte aktuell sein, damit möglichst keine Daten verloren gehen.

      • Anschließend ioBroker stoppen, damit Updates keine Nebeneffekte oder Abstürze verursachen.

        iobroker stop
        

        Bitte anschließend im Webbrowser prüfen, dass der ioBroker-Admin danach wirklich nicht mehr startet. Sollte er weiterhin aufrufbar sein, dann den Rechner neu starten und nochmals „iobroker stop“ ausführen und erneut testen. Für die Techniker unter uns: Man kann auch mit einem Tool wie "top" prüfen, ob noch Prozesse existieren, die mit "io." beginnen. Die dann mit einem beherzten "sudo kill -9 <ProzessID>" zwangsbeenden.

      • Jetzt aktualisiert man Node.js auf die gewünschte neue Version.

        Unter Linux reicht es, dazu den Nodesource-Installationsbefehl für das jeweilige Betriebssystem auszuführen. Verschiedene Varianten sind unter https://github.com/nodesource/distributions#debinstall gelistet.

        Zum Beispiel lauten die Befehle für einen Raspberry Pi der ein Debian bzw. Raspbian-Image verwendet wie folgt, wenn man nicht als root-User (z.B. richtig mit dem User "pi") angemeldet ist:

        curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
        sudo apt-get install -y nodejs
        

      Für nodejs 12 einfach in der URL oben anstelle der 10 eine 12 reinpacken.

      Für macOS gibt einen Installer auf https://nodejs.org/en/download/ , den man einfach ausführt.

      Ob die Aktualisierung geklappt hat, kann man wieder mit dem Befehl

      node -v
      

      überprüfen.

      • Da die Installation von Node.js einige Einstellungen am System verändert haben kann, ist es jetzt ratsam, den ioBroker-Installationsfixer aufzurufen. Das geschieht mit dem Befehl

        curl -sL https://iobroker.net/fix.sh | bash -
        

        Er stellt unter anderem die für den Betrieb von ioBroker notwendigen Sicherheitseinstellungen wieder her.

      • Bei einer Aktualisierung von Node.js müssen bereits installierte JavaScript- Module im ioBroker-Ordner aktualisiert werden, da sonst Fehler bei deren Ausführung auftreten.

        Um diese zu aktualisieren gibt es mehrere Möglichkeiten:

        a) ab js-controller 3.0: Automatischer Rebuild
        ioBroker versucht seit dem js-controller 3.0 automatisch Adapter zu erkennen die nicht starten weil Sie aktualisiert werden müssen. Dies funktioniert so das die typischen Fehlermeldungen erkannt werden und ioBroker dann die Aktualisierung versucht. Zuerst wird ein "rebuild" des betroffenen Adapters ausgeführt, falls das nicht hilft werden die Adapter-Abhängigkeiten aktualisiert. Daher kann es sein das der Adapter mehrfach ersucht wird neu zu starten. Hier bitte Geduld haben!
        Bei einigen Adaptern (zB iot die optionale native Abhängigkeiten haben) funktioniert die automatische Erkennung nicht und das rebuild muss manuell angestoßen werden. Hier zu gibt es iobroker rebuild adaptername und falls das nicht reicht iobroker rebuild adaptername --install. Das einfach manuell ausführen. Damit sollte alles idealerweise automatisiert erledigt sein. Falls hie rirgendetwas gar nicht geht dann helfen die weiteren Optionen.

        b) npm rebuild
        Der erste Versuch sollte immer mit dem Befehl "npm rebuild" im ioBroker Verzeichnis stattfinden, weil dies am saubersten funktioniert und direkt von der Paketverwaltung ausgeführt wird. Im Idealfall dauert das ein paar Minuten und es könnten ein paar Warnungen gelistet werden.
        Falls es aber Fehler gibt, werden wir zusammen versuchen im nächsten Post alle bekannten Fälle mit Ihren Lösungsansätzen zu sammeln. Wenn das funktioniert ist dies der schnellste und sauberste Weg.

        c) reinstall-Skript
        Sollte das nicht klappen, beinhaltet der js-Controller ein reinstall-Skript ("reinstall.sh" bzw. ab js-controller 1.5.x "reinstall.js"). Dieses Skript erkennt alle installierten ioBroker-Adapter, löscht diese dann aus dem node_modules-Verzeichnis und installiert sie neu. Dieser Ansatz ist etwas aufwändiger als "npm rebuild", erfüllt aber den gleichen Zweck. Das funktioniert generell gut, man sollte den Prozess aber nicht abbrechen. Falls es doch passiert oder es Probleme beim Starten nach dieser Prozedur gibt, dann am besten den Weg im nächsten Punkt wählen.
        Das reinstall.sh-Skript welches im js-controller 1.4 mitgeliefert wurde hat ein Formatierungsproblem und muss vorher noch für Linux mit den Befehlen

        cd /opt/iobroker
        sudo mv reinstall.sh reinstall.dos
        sudo tr -d '\r' < reinstall.dos > reinstall.sh
        sudo chmod +x reinstall.sh
        

        korrigiert werden, damit es funktioniert.

        d) Reset aller Module in node_modules
        Eine weitere Variante, die gründlich ist, aber etwas Zeit kostet, ist der Ansatz einfach alles Alte unter Beibehaltung der Daten und Einstellungen neu zu installieren. Wichtig ist, das iobroker-data Verzeichnis nicht zu verändern. Häufig können mit dieser Vorgehensweise auch andere (verborgene) Installationsfehler repariert werden.

        Dazu löscht man zuerst das gesamte node_modules Verzeichnis im ioBroker-Verzeichnis.

        cd /opt/iobroker
        sudo rm -r node_modules/ 
        

        Nachdem der Befehl abgesetzt wurde, fragt das Programm, ob in den Ordner "hinabgestiegen" werden soll (sofern es ein tieferer Unterordner ist) und ob der (schreibgeschützte) Ordner wirklich gelöscht werden soll - beides bestätigt man mit "Ja" (j) oder "Yes" (y).

        Danach installiert man den Controller in der relevanten Version (hier z.B. 2.2.8 der zum Zeitpunkt des Schreibens die aktuelle "Stable"-Version ist):

        npm install iobroker.js-controller@2.2.8 --production
        

        Anschließend startet man ioBroker.

        iobroker start
        

        ioBroker wird korrekterweise feststellen, dass die Adapter, die er starten will, nicht installiert sind - und diese einfach automatisch nachinstallieren. Je nach System kann dies einige Zeit dauern - gern auch ein paar Stunden (oder bei langsamen SD-Karten die ganze Nacht). Aber danach ist alles aktualisiert. Der Installationsfortschritt ist im Admin im Log-Fenster zu sehen.

        Zu beachten ist, dass Adapter, die man manuell von GitHub installiert hat, den Fehler Can not parse null/io-package.json:Error: ENOENT: no suche file or directory ... im ioBroker-Log erzeugen.
        Diese Adapter nach Abschluss der automatischen Installationssequenz wie gehabt über das Adapterfenster manuell von GitHub nachinstallieren und nach der Installation die bestehende diesbezügliche Instanz von Hand starten.

        Ratsam ist es auch, im Log nach der Installation nach dem Wort yourself zu suchen. Hier werden ggf. npm-Module angezeigt, die nicht automatisch installiert wurden. Sie können/sollten manuell über die Kommandozeile mit npm i <Packetname>@<version>, ausgeführt im iobroker-Ordner, nachinstalliert werden. Dazu zuerst den ioBroker stoppen, npm ausführen und dann den ioBroker wieder starten.

        Wenn man dabei npm als root-User per Hand in der Kommandozeile ausgeführt hat, schlage ich zur Korrektur eventueller Berechtigungsfehler vor, vor dem Start von ioBroker das Fixerscript laufen zu lassen.

        cd /opt/iobroker
        iobroker stop
        npm i <Packetname>@<version>
        curl -sL https://iobroker.net/fix.sh | bash -
        iobroker start
        

        e) Neuinstallation mit Restore
        Eine kleine Abwandlung der letzten Variante ist eine Neuinstallation. Hierbei sichert man das "iobroker-data" Verzeichnis (oder nutzt das Backup von oben). Dann löscht man das gesamte ioBroker-Verzeichnis und nutzt den Installer.

        cp -r /opt/iobroker/iobroker-data <Pfad_zum_sicheren_Ort> 
        sudo rm -r /opt/iobroker/ 
        sudo mkdir /opt/iobroker
        cd /opt/iobroker
        curl -sL https://iobroker.net/install.sh | bash -
        

        Direkt danach stoppt man ioBroker wieder (der ja nach der Installation automatisch gestartet wird).

        iobroker stop
        

        Dann löscht man den neu erstellen „iobroker-data“- Ordner und kopiert anschließend das gesicherte alte „iobroker-data“-Verzeichnis mit den darin enthaltenen Datenbanken und Dateien dorthin zurück.

        rm -r /opt/iobroker/iobroker-data
        cp -r <Pfad_zum_sicheren_Ort> /opt/iobroker/iobroker-data  
        

        Anschließend wieder ioBroker starten. Der Rest läuft dann wie bei c) und dauert seine Zeit.

      5. Zu guter Letzt

      Bitte gebt euer Feedback, was bei euch wie gut funktioniert, was ihr immer nutzt und was die Probleme und eure Lösungen sind.

      Viele Grüße,
      apollon77
      stabilostick

      crunchip L smartboart T Homoran 10 Replies Last reply Reply Quote 32
      • apollon77
        apollon77 last edited by Stabilostick

        In diesem Post wollen wir Problemfälle bei "npm rebuild sammeln und deren Lösungen.

        1.) Binäre Dateien existieren, aber nicht als Link wie erwartet; manuelles löschen erforderlich
        Bei Fehlern wie:

        npm ERR! path /opt/iobroker/node_modules/.bin/iobroker
        npm ERR! code EEXIST
        npm ERR! Refusing to delete /opt/iobroker/node_modules/.bin/iobroker: is outside /opt/iobroker/node_modules/iobroker.js-controller and not a link
        npm ERR! File exists: /opt/iobroker/node_modules/.bin/iobroker
        npm ERR! Move it away, and try again.
        

        einfach das machen was da steht und die in der Meldung genannte Datei einfach löschen und "npm rebuild" neu starten. Diese Probleme können passieren wenn das node_modules Verzeichnis mal kopiert wurde, weil dabei (wenn man nicht die korrekten Parameter nutzt) symbolische Links entfernt werden und das macht Probleme.

        2.) Permission/Rechte-Fehler
        Bei Meldungen mit einem "EACCESS" als Fehlercode oder "Permission denied" am besten den Installationfixer laufen lassen (siehe erster Beitrag im Thread, Punkt 4). Das npm rebuild nicht mit sudo oder als root Nutzer ausführen.

        Wenn die Fehler in Verzeichnissen wie "/root/.npm/..." oder /home/user/.npm/..." auftreten dann diese Verzeichnisse einfach löschen und neu versuchen. Dann haben frühere Aktionen wohl das Cache-Verzeichnis kaputt gemacht.

        3.) npm rebuild Fehler mit "unix-dgram 0.2.3" (js-controller 1.x mit Node.js 10/12)
        Es ist ein Problemkandidat bekannt der bei "npm rebuild" zu einem Fehler führt, wodurch npm rebuild abbricht.

        > unix-dgram@0.2.3 install C:\Program Files\iobroker\SmartHome76\node_modules\unix-dgram
        > node-gyp rebuild
        
        c:\program files\iobroker\smarthome76\node_modules\unix-dgram\node_modules\nan\nan_maybe_43_inl.h(88): error C2039: "Fo
        rceSet": Ist kein Element von "v8::Object" (Quelldatei wird kompiliert ..\src\unix_dgram.cc) [C:\Program Files\iobroker
        \SmartHome76\node_modules\unix-dgram\build\unix_dgram.vcxproj]
        

        In dem speziellen Fall hilft nur eine drastische Methode:
        Im Verzeichnis node_modules/iobroker.js-controller/ folgendes ausführen:

        npm i unix-dgram@2.0.3
        

        Danach "npm rebuild" nochmals anstossen.

        4.) Fehler in npm-cache Verzeichnis*
        Es kann hier und da vorkommen das sich mal defekte Dateien im npm Cache Verzeichnis festgesetzt haben, das gibt das Fehler wie beispielsweise:

        npm ERR! Unexpected end of JSON input while parsing near '...1f861b63850035ddc87",'
        

        meistens dann bei Dateien in "/home/user/.npm/_cacache" (o.ä. Verzeichnissen mit "cache" im Namen). Dann hilft ggf ein

        npm cache clean --force
        

        oder das löschen dieses Verzeichnisses. Das npm Cache wird neu aufgebaut, was also etwas länger dauern kann.

        5.) defekte Adapter-Installationen beheben
        Es kann ebenso vorkommen das Adapter funktionieren aber ggf beim rebuild Probleme festgestellt werden. Meistens ist es das dann Dateien oder Abhängigkeiten fehlen. Das könnte zB so aussehen:

        npm ERR! path /opt/iobroker/node_modules/iobroker.discovery/node_modules/@types/iobroker/package.json
        npm ERR! code ENOENT
        npm ERR! errno -2
        npm ERR! syscall open
        npm ERR! enoent ENOENT: no such file or directory, open '/opt/iobroker/node_modules/iobroker.discovery/node_modules/@types/iobroker/package.json'
        npm ERR! enoent This is related to npm not being able to find a file.
        npm ERR! enoent
        

        Das wurde auch schon beim Javascript Adapter bezüglich dem Paket "uuid" berichtet.

        Dann hilft es meistens den Adapter manuell in der gleichen Version wie vorhanden nochmals" drüber zu installieren. Wenn man die Version nicht weiss kann man im Adapterverzeichnis unter node_modules/iobroker.adaptername/package.json nachsehen was als Version drin steht.

        Dann im ioBroker Verzeichnis ein

        npm install iobroker.adaptername@version --production
        

        ausführen.

        Danach nochmals "npm rebuild".

        S 1 Reply Last reply Reply Quote 3
        • Stabilostick
          Stabilostick last edited by Stabilostick

          Und in diesem Post sammeln wir Lösungen, wenn man Node.js manuell vollständig löschen möchte.

          Debian/Ubuntu/Raspbian

          sudo apt-get purge -y nodejs npm nodejs-legacy
          sudo apt -y autoremove
          
          sudo rm /etc/sources.list.d/nodesource.list
          sudo apt-get update
          
          sudo rm -rf /usr/local/bin/npm /usr/local/share/man/man1/node* /usr/local/lib/dtrace/node.d ~/.npm ~/.node-gyp /opt/local/bin/node /opt/local/include/node /opt/local/lib/node_modules 
          
          sudo rm -rf /usr/local/lib/node*
          sudo rm -rf /usr/local/include/node*
          sudo rm -rf /usr/local/bin/node*
          

          Das Warn- und Fehlermeldungen bei der Prozedur angezeigt werden ist ok.

          Anschließend den Rechner neu starten (Befehl sudo reboot) und mit node -v und npm -v die erhofften "nicht gefunden"-Fehlermeldungen ansehen.

          Windows

          Das folgende Vorgehen ist bei der neuen ioBroker-Installation nicht relevant, da dort für jede Instanz ein lokales und für ioBroker abgestimmtes Node.js installiert wird.

          • Öffne eine Kommandozeile als Administrator und führe den folgenden Befehl aus:
            npm cache clean --force
            
          • Dann deinstalliere Node.js über die Systemsteuerung -> Apps mit dem Node.js-Uninstaller
          • Rechner neu starten
          • Die folgenden Ordner mit Inhalt löschen. Abhängig von der OS-, CPU-, Node.js- oder anderen Einstellungen kann es sein, dass davon welche fehlen.
            C:\Program Files (x86)\Nodejs
            C:\Program Files\Nodejs
            C:\Users\{User}\AppData\Roaming\npm
            C:\Users\{User}\AppData\Roaming\npm-cache
            C:\Users\{User}\.npmrc
            C:\Users\{User}\AppData\Local\Temp\npm-*
            
          • Jetzt die %PATH%-Umgebungsvariable auf npm-, node- oder nodejs-Einträge prüfen. Diese ggf. entfernen.
          • Mit node -v prüfen, ob jetzt Node.js fehlt. Wenn es immer noch da ist, kann mit dem Kommando where node Node.js gesucht werden. Dann die Ordner in denen die node.exe noch steht komplett mit Inhalt löschen.
          • Reboot tut gut. 🙂
          liv-in-sky 1 Reply Last reply Reply Quote 3
          • liv-in-sky
            liv-in-sky @Stabilostick last edited by liv-in-sky

            hi @Stabilostick

            ich hatte mal das problem , dass ein downgrade von node 10 auf 8 nicht funktionierte, weil falsche werte in

            apt-cache policy nodejs
            

            standen - kennst du das problem - weißt du wie man das professionell lösen kann - ich frage, weil ich nicht weiß, ob ich wieder auf node10 mit dieser einstellung komme

            dabei geht es um die installations-priorität von nodejs. ich habe die priorität irgendwie auf 1002 ändern können - danach gings (vorher stand 100 an der stelle und der downgrade ging nicht

            Image 1.png

            ich denke, der nächste befehl wäre auch manchmal hilfreich, wenn man in den "unter-versionen" wechseln möchte

            apt-get install nodejs=6.14.1-1nodesource1
            

            das inodesource1 kommt im letzten bild vor.

            Stabilostick 1 Reply Last reply Reply Quote 0
            • Stabilostick
              Stabilostick @liv-in-sky last edited by Stabilostick

              @liv-in-sky

              Du hast wahrscheinlich damals in der Datei /etc/apt/preferences in etwa folgendes eingetragen:

              Package: *
              Pin: origin deb.nodesource.com
              Pin-Priority: 1002
              

              Das nennt sich pinning. Damit sagst Du, dass bei gleichen Paketen die Quelle „deb.nodesource.com“ für Dich wichtiger ist als das, was aus dem Debian- oder Ubuntu-Repository kommt.

              Ich sehe diesbezüglich kein Problem, Node.js 10 zu verwenden.

              liv-in-sky 1 Reply Last reply Reply Quote 0
              • liv-in-sky
                liv-in-sky @Stabilostick last edited by

                @Stabilostick ja genau - so habe ich es gemacht

                irgendwann werd ich node 10 wieder ausprobieren - bin froh, das jetzt alles wieder stabil ist - node 8.16, js 1.5.11

                Stuebi 1 Reply Last reply Reply Quote 0
                • Stuebi
                  Stuebi @liv-in-sky last edited by

                  Ich hatte auch Probleme beim Update von 8.15 auf 10.16.. Folgender Fehler kam bei mir hoch, egal ob ich bei Step 3, a, b oder c ausgeführt habe.

                  npm ERR! Unexpected end of JSON input while parsing near '...1f861b63850035ddc87",'
                  

                  Bei mir hat dann nur folgendes geholfen:

                  npm cache clean --force
                  

                  und danach habe ich Step 3c ausgeführt. Seit dem läuft das System wunderbar!

                  Homoran 1 Reply Last reply Reply Quote 0
                  • Homoran
                    Homoran Global Moderator Administrators @Stuebi last edited by

                    @Stuebi
                    Das sieht aus als ob der download defekt war, aber leider im cache blieb.

                    Stuebi 1 Reply Last reply Reply Quote 0
                    • Stuebi
                      Stuebi @Homoran last edited by

                      @Homoran , ich konnte einige Adapter auch nicht mehr installieren. Da kam immer der JSON input Fehler. Jetzt läuft das System wieder.

                      1 Reply Last reply Reply Quote 0
                      • crunchip
                        crunchip Forum Testing Most Active last edited by

                        wechsel von v8.16 auf v10.16

                        1. Versuch, nachdem einige Adapter nicht mehr liefen "Dash, BLuetooth"

                        hab danach iobroker gestartet, bekam aber "Bluetooth und Dash" nicht mehr zum laufen, bzw weiss nicht genau wie
                        und bevor ich was kaputt mache, frage ich lieber 😬

                        Aktuell stehe ich hier
                        ein npm rebuild ergibt folgendes

                        root@IoBroker:/opt/iobroker# npm rebuild
                        
                        > bluetooth-hci-socket@0.5.1 install /opt/iobroker/node_modules/bluetooth-hci-socket
                        > node-gyp rebuild
                        
                        make: Verzeichnis „/opt/iobroker/node_modules/bluetooth-hci-socket/build“ wird betreten
                          CXX(target) Release/obj.target/binding/src/BluetoothHciSocket.o
                        ../src/BluetoothHciSocket.cpp: In member function ‘void BluetoothHciSocket::poll()’:
                        ../src/BluetoothHciSocket.cpp:251:95: warning: ‘v8::Local<v8::Value> Nan::MakeCallback(v8::Local<v8::Object>, v8::Local<v8::String>, int, v8::Local<v8::Value>*)’ is deprecated [-Wdeprecated-declarations]
                             Nan::MakeCallback(Nan::New<Object>(this->This), Nan::New("emit").ToLocalChecked(), 2, argv);
                                                                                                                       ^
                        In file included from ../src/BluetoothHciSocket.cpp:8:0:
                        ../../nan/nan.h:950:46: note: declared here
                           NAN_DEPRECATED inline v8::Local<v8::Value> MakeCallback(
                                                                      ^~~~~~~~~~~~
                        ../src/BluetoothHciSocket.cpp: In member function ‘void BluetoothHciSocket::emitErrnoError()’:
                        ../src/BluetoothHciSocket.cpp:275:72: error: no matching function for call to ‘v8::Function::NewInstance(int, v8::Local<v8::Value> [1])’
                           Local<Value> error = errorConstructor->NewInstance(1, constructorArgs);
                                                                                                ^
                        In file included from /root/.node-gyp/10.16.0/include/node/node.h:63:0,
                                         from /root/.node-gyp/10.16.0/include/node/node_buffer.h:25,
                                         from ../src/BluetoothHciSocket.cpp:7:
                        /root/.node-gyp/10.16.0/include/node/v8.h:3993:44: note: candidate: v8::MaybeLocal<v8::Object> v8::Function::NewInstance(v8::Local<v8::Context>, int, v8::Local<v8::Value>*) const
                           V8_WARN_UNUSED_RESULT MaybeLocal<Object> NewInstance(
                                                                    ^~~~~~~~~~~
                        /root/.node-gyp/10.16.0/include/node/v8.h:3993:44: note:   candidate expects 3 arguments, 2 provided
                        /root/.node-gyp/10.16.0/include/node/v8.h:3996:44: note: candidate: v8::MaybeLocal<v8::Object> v8::Function::NewInstance(v8::Local<v8::Context>) const
                           V8_WARN_UNUSED_RESULT MaybeLocal<Object> NewInstance(
                                                                    ^~~~~~~~~~~
                        /root/.node-gyp/10.16.0/include/node/v8.h:3996:44: note:   candidate expects 1 argument, 2 provided
                        ../src/BluetoothHciSocket.cpp:282:93: warning: ‘v8::Local<v8::Value> Nan::MakeCallback(v8::Local<v8::Object>, v8::Local<v8::String>, int, v8::Local<v8::Value>*)’ is deprecated [-Wdeprecated-declarations]
                           Nan::MakeCallback(Nan::New<Object>(this->This), Nan::New("emit").ToLocalChecked(), 2, argv);
                                                                                                                     ^
                        In file included from ../src/BluetoothHciSocket.cpp:8:0:
                        ../../nan/nan.h:950:46: note: declared here
                           NAN_DEPRECATED inline v8::Local<v8::Value> MakeCallback(
                                                                      ^~~~~~~~~~~~
                        ../src/BluetoothHciSocket.cpp: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE BluetoothHciSocket::BindRaw(Nan::NAN_METHOD_ARGS_TYPE)’:
                        ../src/BluetoothHciSocket.cpp:395:34: warning: ‘int64_t v8::Value::IntegerValue() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
                               devId = arg0->IntegerValue();
                                                          ^
                        In file included from /root/.node-gyp/10.16.0/include/node/v8.h:26:0,
                                         from /root/.node-gyp/10.16.0/include/node/node.h:63,
                                         from /root/.node-gyp/10.16.0/include/node/node_buffer.h:25,
                                         from ../src/BluetoothHciSocket.cpp:7:
                        /root/.node-gyp/10.16.0/include/node/v8.h:2476:46: note: declared here
                           V8_DEPRECATED("Use maybe version", int64_t IntegerValue() const);
                                                                      ^
                        /root/.node-gyp/10.16.0/include/node/v8config.h:324:3: note: in definition of macro ‘V8_DEPRECATED’
                           declarator __attribute__((deprecated(message)))
                           ^~~~~~~~~~
                        ../src/BluetoothHciSocket.cpp: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE BluetoothHciSocket::BindUser(Nan::NAN_METHOD_ARGS_TYPE)’:
                        ../src/BluetoothHciSocket.cpp:417:34: warning: ‘int64_t v8::Value::IntegerValue() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
                               devId = arg0->IntegerValue();
                                                          ^
                        In file included from /root/.node-gyp/10.16.0/include/node/v8.h:26:0,
                                         from /root/.node-gyp/10.16.0/include/node/node.h:63,
                                         from /root/.node-gyp/10.16.0/include/node/node_buffer.h:25,
                                         from ../src/BluetoothHciSocket.cpp:7:
                        /root/.node-gyp/10.16.0/include/node/v8.h:2476:46: note: declared here
                           V8_DEPRECATED("Use maybe version", int64_t IntegerValue() const);
                                                                      ^
                        /root/.node-gyp/10.16.0/include/node/v8config.h:324:3: note: in definition of macro ‘V8_DEPRECATED’
                           declarator __attribute__((deprecated(message)))
                           ^~~~~~~~~~
                        binding.target.mk:101: die Regel für Ziel „Release/obj.target/binding/src/BluetoothHciSocket.o“ scheiterte
                        make: *** [Release/obj.target/binding/src/BluetoothHciSocket.o] Fehler 1
                        make: Verzeichnis „/opt/iobroker/node_modules/bluetooth-hci-socket/build“ wird verlassen
                        gyp ERR! build error
                        gyp ERR! stack Error: `make` failed with exit code: 2
                        gyp ERR! stack     at ChildProcess.onExit (/usr/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:262:23)
                        gyp ERR! stack     at ChildProcess.emit (events.js:198:13)
                        gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:248:12)
                        gyp ERR! System Linux 4.9.0-9-amd64
                        gyp ERR! command "/usr/bin/node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
                        gyp ERR! cwd /opt/iobroker/node_modules/bluetooth-hci-socket
                        gyp ERR! node -v v10.16.0
                        gyp ERR! node-gyp -v v3.8.0
                        gyp ERR! not ok
                        npm ERR! code ELIFECYCLE
                        npm ERR! errno 1
                        npm ERR! bluetooth-hci-socket@0.5.1 install: `node-gyp rebuild`
                        npm ERR! Exit status 1
                        npm ERR!
                        npm ERR! Failed at the bluetooth-hci-socket@0.5.1 install script.
                        npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
                        
                        npm ERR! A complete log of this run can be found in:
                        npm ERR!     /root/.npm/_logs/2019-06-02T09_24_04_396Z-debug.log
                        root@IoBroker:/opt/iobroker#
                        
                        
                        Diginix apollon77 2 Replies Last reply Reply Quote 0
                        • Diginix
                          Diginix @crunchip last edited by

                          @crunchip Genau den Fehler habe ich auch mit npm rebuild als root.

                          Wenn ich npm rebuild als user iobroker ausführe bekomme ich folgende Fehler:

                          iobroker@BT3-PRO:/opt/iobroker$ npm rebuild
                          npm ERR! path /root/.npm/_logs
                          npm ERR! code EACCES
                          npm ERR! errno -13
                          npm ERR! syscall scandir
                          npm ERR! Error: EACCES: permission denied, scandir '/root/.npm/_logs'
                          npm ERR!  { [Error: EACCES: permission denied, scandir '/root/.npm/_logs']
                          npm ERR!   stack:
                          npm ERR!    'Error: EACCES: permission denied, scandir \'/root/.npm/_logs\'',
                          npm ERR!   errno: -13,
                          npm ERR!   code: 'EACCES',
                          npm ERR!   syscall: 'scandir',
                          npm ERR!   path: '/root/.npm/_logs' }
                          npm ERR!
                          npm ERR! The operation was rejected by your operating system.
                          npm ERR! It is likely you do not have the permissions to access this file as the current user
                          npm ERR!
                          npm ERR! If you believe this might be a permissions issue, please double-check the
                          npm ERR! permissions of the file and its containing directories, or try running
                          npm ERR! the command again as root/Administrator (though this is not recommended).
                          glob error { [Error: EACCES: permission denied, scandir '/root/.npm/_logs']
                            stack:
                             'Error: EACCES: permission denied, scandir \'/root/.npm/_logs\'',
                            errno: -13,
                            code: 'EACCES',
                            syscall: 'scandir',
                            path: '/root/.npm/_logs' }
                          
                          > @abandonware/noble@1.9.2-2 install /opt/iobroker/node_modules/@abandonware/noble
                          > node-gyp rebuild
                          
                          gyp WARN EACCES user "iobroker" does not have permission to access the dev dir "/root/.node-gyp/10.16.0"
                          gyp WARN EACCES attempting to reinstall using temporary dev dir "/tmp/.node-gyp"
                          make: Verzeichnis â/opt/iobroker/node_modules/@abandonware/noble/buildâ wird betreten
                            SOLINK_MODULE(target) Release/obj.target/noble.node
                            COPY Release/noble.node
                          make: Verzeichnis â/opt/iobroker/node_modules/@abandonware/noble/buildâ wird verlassen
                          
                          > iobroker@2.0.2 install /opt/iobroker/node_modules/iobroker
                          > node lib/checkVersions.js
                          
                          NPM version: 6.9.0
                          
                          > iobroker@2.0.2 postinstall /opt/iobroker/node_modules/iobroker
                          > node lib/install.js
                          
                          lib/install.js is not being run as part of an installation - skipping...
                          
                          > @serialport/bindings@2.0.8 install /opt/iobroker/node_modules/iobroker.discovery/node_modules/@serialport/bindings
                          > prebuild-install --tag-prefix @serialport/bindings@ || node-gyp rebuild
                          
                          [...]
                          
                          Installing NodeJS typings...
                          Could not install NodeJS typings. This is not critical.
                          Reason:
                          npm ERR! path /root/.npm/_logs
                          npm ERR! code EACCES
                          npm ERR! errno -13
                          npm ERR! syscall scandir
                          npm ERR! Error: EACCES: permission denied, scandir '/root/.npm/_logs'
                          npm ERR!  { [Error: EACCES: permission denied, scandir '/root/.npm/_logs']
                          npm ERR!   stack:
                          npm ERR!    'Error: EACCES: permission denied, scandir \'/root/.npm/_logs\'',
                          npm ERR!   errno: -13,
                          npm ERR!   code: 'EACCES',
                          npm ERR!   syscall: 'scandir',
                          npm ERR!   path: '/root/.npm/_logs' }
                          npm ERR!
                          npm ERR! The operation was rejected by your operating system.
                          npm ERR! It is likely you do not have the permissions to access this file as the current user
                          npm ERR!
                          npm ERR! If you believe this might be a permissions issue, please double-check the
                          npm ERR! permissions of the file and its containing directories, or try running
                          npm ERR! the command again as root/Administrator (though this is not recommended).
                          glob error { [Error: EACCES: permission denied, scandir '/root/.npm/_logs']
                            stack:
                             'Error: EACCES: permission denied, scandir \'/root/.npm/_logs\'',
                            errno: -13,
                            code: 'EACCES',
                            syscall: 'scandir',
                            path: '/root/.npm/_logs' }
                          npm ERR! path /root/.npm/_cacache/index-v5/fc/ee/fc3e1dd6706bd557d2840d92ff10cdd6928b92fb8c46d2195dfbd8d4b2be
                          npm ERR! code EACCES
                          npm ERR! errno -13
                          npm ERR! syscall open
                          npm ERR! Error: EACCES: permission denied, open '/root/.npm/_cacache/index-v5/fc/ee/fc3e1dd6706bd557d2840d92ff10cdd6928b92fb8c46d2195dfbd8d4b2be'
                          npm ERR!  { [Error: EACCES: permission denied, open '/root/.npm/_cacache/index-v5/fc/ee/fc3e1dd6706bd557d2840d92ff10cdd6928b92fb8c46d2195dfbd8d4b2be']
                          npm ERR!   cause:
                          npm ERR!    { Error: EACCES: permission denied, open '/root/.npm/_cacache/index-v5/fc/ee/fc3e1dd6706bd557d2840d92ff10cdd6928b92fb8c46d2195dfbd8d4b2be'
                          npm ERR!      errno: -13,
                          npm ERR!      code: 'EACCES',
                          npm ERR!      syscall: 'open',
                          npm ERR!      path:
                          npm ERR!       '/root/.npm/_cacache/index-v5/fc/ee/fc3e1dd6706bd557d2840d92ff10cdd6928b92fb8c46d2195dfbd8d4b2be' },
                          npm ERR!   isOperational: true,
                          npm ERR!   stack:
                          npm ERR!    'Error: EACCES: permission denied, open \'/root/.npm/_cacache/index-v5/fc/ee/fc3e1dd6706bd557d2840d92ff10cdd6928b92fb8c46d2195dfbd8d4b2be\'',
                          npm ERR!   errno: -13,
                          npm ERR!   code: 'EACCES',
                          npm ERR!   syscall: 'open',
                          npm ERR!   path:
                          npm ERR!    '/root/.npm/_cacache/index-v5/fc/ee/fc3e1dd6706bd557d2840d92ff10cdd6928b92fb8c46d2195dfbd8d4b2be' }
                          npm ERR!
                          npm ERR! The operation was rejected by your operating system.
                          npm ERR! It is likely you do not have the permissions to access this file as the current user
                          npm ERR!
                          npm ERR! If you believe this might be a permissions issue, please double-check the
                          npm ERR! permissions of the file and its containing directories, or try running
                          npm ERR! the command again as root/Administrator (though this is not recommended).
                          
                          [...]
                          
                          (node:3600) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 SIGINT listeners added. Use emitter.setMaxListeners() to increase limit
                          npm ERR! path /root/.npm/_logs
                          npm ERR! code EACCES
                          npm ERR! errno -13
                          npm ERR! syscall scandir
                          npm ERR! Error: EACCES: permission denied, scandir '/root/.npm/_logs'
                          npm ERR!  { [Error: EACCES: permission denied, scandir '/root/.npm/_logs']
                          npm ERR!   stack:
                          npm ERR!    'Error: EACCES: permission denied, scandir \'/root/.npm/_logs\'',
                          npm ERR!   errno: -13,
                          npm ERR!   code: 'EACCES',
                          npm ERR!   syscall: 'scandir',
                          npm ERR!   path: '/root/.npm/_logs' }
                          npm ERR!
                          npm ERR! The operation was rejected by your operating system.
                          npm ERR! It is likely you do not have the permissions to access this file as the current user
                          npm ERR!
                          npm ERR! If you believe this might be a permissions issue, please double-check the
                          npm ERR! permissions of the file and its containing directories, or try running
                          npm ERR! the command again as root/Administrator (though this is not recommended).
                          glob error { [Error: EACCES: permission denied, scandir '/root/.npm/_logs']
                            stack:
                             'Error: EACCES: permission denied, scandir \'/root/.npm/_logs\'',
                            errno: -13,
                            code: 'EACCES',
                            syscall: 'scandir',
                            path: '/root/.npm/_logs' }
                          npm ERR! path /root/.npm/_cacache/index-v5/f6/d3/856f4e146dc3e8cb995652c4d6a1e16806d6bca7e87878fd9046e55ea74f
                          npm ERR! code EACCES
                          npm ERR! errno -13
                          npm ERR! syscall open
                          npm ERR! Error: EACCES: permission denied, open '/root/.npm/_cacache/index-v5/f6/d3/856f4e146dc3e8cb995652c4d6a1e16806d6bca7e87878fd9046e55ea74f'
                          npm ERR!  { [Error: EACCES: permission denied, open '/root/.npm/_cacache/index-v5/f6/d3/856f4e146dc3e8cb995652c4d6a1e16806d6bca7e87878fd9046e55ea74f']
                          npm ERR!   cause:
                          npm ERR!    { Error: EACCES: permission denied, open '/root/.npm/_cacache/index-v5/f6/d3/856f4e146dc3e8cb995652c4d6a1e16806d6bca7e87878fd9046e55ea74f'
                          npm ERR!      errno: -13,
                          npm ERR!      code: 'EACCES',
                          npm ERR!      syscall: 'open',
                          npm ERR!      path:
                          npm ERR!       '/root/.npm/_cacache/index-v5/f6/d3/856f4e146dc3e8cb995652c4d6a1e16806d6bca7e87878fd9046e55ea74f' },
                          npm ERR!   isOperational: true,
                          npm ERR!   stack:
                          npm ERR!    'Error: EACCES: permission denied, open \'/root/.npm/_cacache/index-v5/f6/d3/856f4e146dc3e8cb995652c4d6a1e16806d6bca7e87878fd9046e55ea74f\'',
                          npm ERR!   errno: -13,
                          npm ERR!   code: 'EACCES',
                          npm ERR!   syscall: 'open',
                          npm ERR!   path:
                          npm ERR!    '/root/.npm/_cacache/index-v5/f6/d3/856f4e146dc3e8cb995652c4d6a1e16806d6bca7e87878fd9046e55ea74f' }
                          npm ERR!
                          npm ERR! The operation was rejected by your operating system.
                          npm ERR! It is likely you do not have the permissions to access this file as the current user
                          npm ERR!
                          npm ERR! If you believe this might be a permissions issue, please double-check the
                          npm ERR! permissions of the file and its containing directories, or try running
                          npm ERR! the command again as root/Administrator (though this is not recommended).
                          npm ERR! code ELIFECYCLE
                          npm ERR! errno 243
                          npm ERR! @abandonware/bluetooth-hci-socket@0.5.3-1 preinstall: `npm install node-pre-gyp`
                          npm ERR! Exit status 243
                          npm ERR!
                          npm ERR! Failed at the @abandonware/bluetooth-hci-socket@0.5.3-1 preinstall script.
                          npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
                          iobroker@BT3-PRO:/opt/iobroker$
                          

                          Hab schon den Install Fixer laufen lassen, aber der korrigiert ja nur alles unterhalb von /opt/iobroker.
                          Anscheinend will npm aber auch wenn es nicht als root ausgeführt wird in /root schreiben.
                          Aber am Ende taucht auch wieder "bluetooth-hci-socket" auf.
                          Ein Downgrad auf node 8.x hatte ich vor Wochen schon mal erfolglos probiert. Würde auch auf node 10 bleiben wollen, wenn ich die Probleme gelöst bekomme.

                          crunchip apollon77 2 Replies Last reply Reply Quote 0
                          • crunchip
                            crunchip Forum Testing Most Active @Diginix last edited by

                            @Diginix mit dem Install Fixer hab ich mich bis jetzt noch nicht befasst, bei mir läuft noch ne alte root Installation.

                            J 1 Reply Last reply Reply Quote 0
                            • J
                              Jan1 @crunchip last edited by

                              @crunchip
                              und genau für solche alten Installationen ist der Fixer gedacht. Es sind auch die Rechte des IOBroker User, was mit dem User root dann auch nicht viel gemeinsam hat.

                              liv-in-sky 1 Reply Last reply Reply Quote 0
                              • liv-in-sky
                                liv-in-sky @Jan1 last edited by

                                hi @Jan1

                                da mus sich mich mal einklinken - ich habe auch ein root-laufendes system und dachte immer der fixer ist für die leute, die mit sudo arbeiten . liege ich da falsch - muss ich das auch laufen lassen

                                J 1 Reply Last reply Reply Quote 0
                                • J
                                  Jan1 @liv-in-sky last edited by

                                  @liv-in-sky
                                  müssen musst Du gar nichts☺
                                  Wie geschrieben, es wird der user IOBroker angelegt und da gabs Rechte Probleme, was eben nur bedingt was mit dem User root zu tun hat unter dem man IOBroker installiert hat.
                                  Wie das aber wirklich genau zusammenhängt, kann Dir bestimmt @apollon77 erklären. Im Fixer Thread wird der Fixer eben empfohlen um eine einheitliche Installation zu haben. Ich habe auch unter root installiert und mit dem Fixer trotzdem schon das ein oder andere Problem lösen können.

                                  liv-in-sky 1 Reply Last reply Reply Quote 0
                                  • crunchip
                                    crunchip Forum Testing Most Active last edited by

                                    also so wie ich das bisher verstanden hatte, ist der Install Fixer dazu da, um das System sicherer zu machen, damit nicht alles über root läuft, sondern für die "normalen" Befehle der User angelegt wird.
                                    Desweiteren kam/ kommt es vor das es bei dem ein oder anderen Adaptern zu Rechteprobleme kommt/kam.
                                    Da ich mich aber mit der Materie nicht so gut auskenne, für was ich wo, wann und wie, den oder diesen Befehl benötige (und froh bin, das mein System endlich läuft), habe ich das bis heute nicht installiert, um zusätzliche Probleme zu vermeiden.
                                    Bin Mechaniker und kein Programmierer😀

                                    apollon77 1 Reply Last reply Reply Quote 0
                                    • liv-in-sky
                                      liv-in-sky @Jan1 last edited by

                                      @Jan1 erstmal danke für deine antwort
                                      ich hab mal ein wenig gelesen - aber irgendwie werd ich nicht schlau draus.

                                      ich habe keine probleme mit meiner installation außer als ich node 10 hatte, da stürzte der js-controller immer wieder ab - ohne log einträge. es gab nur vom system selbst die meldung, das sigterm an js-contr gesendet wird.

                                      glaubst du, dass mein node 10 problem vom fixer gelöst werden könnte oder hat das nix damit zu tun

                                      J 1 Reply Last reply Reply Quote 0
                                      • J
                                        Jan1 @liv-in-sky last edited by Jan1

                                        @liv-in-sky
                                        Also ich habe mit Node 10 bis auf das Problem, dass bei mir https nicht mehr läuft (kam unmittelbar nach der Installation von Node 10 und nem System reboot) absolut keine Error oder sonstige Fehler im Log und das bei 26 installierten Adaptern. Ich habe mir sogar angewöhnt ab und an mal den Fixer laufen zu lassen, wenn irgendwo ne Warnung auftaucht und bis jetzt fahre ich damit sehr gut. Heißt für mich dass der Fixer an meinem System auf alle Fälle mal nichts verschlimmert.

                                        Beim Fixer geht es hauptsächlich um Rechteprobleme und da werden auch Rechte, so wie @crunchip geschrieben hat nicht nur vergeben, sondern auch wieder auf das nötigste begrenzt damit das System sichere ist.
                                        Ich würde auf alle Fälle mal ein Backup machen und dann den Fixer einfach mal laufen lassen, wenn danach im aller schlimmsten Fall nichts mehr geht, dann löscht man den IOBroker Ordner und installiert den nackten IOBroker samt dem Backitup Adapter und stellt das Backup wieder her. Dauert so 20 Minuten und alles ist wie vorher. So halte ich das und mein System läuft trotz massivem Basteln und ohne Testsystem😉

                                        liv-in-sky 1 Reply Last reply Reply Quote 0
                                        • Diginix
                                          Diginix last edited by

                                          Der Install Fixer hat bei mir keinerlei Besserung bzgl dem Problem von @crunchip und mir gebracht. Auch eine manuelle Kontrolle aller Permissions zeigt, dass alles ab /opt/iobroker auch dem user iobroker gehört. Außerdem hat dieser user bei mir "sudo ALL ALL" in /etc/sudoers.d/iobroker.

                                          Ich bekomme aber sowohl mit nativem root user als auch mit einem der alles mit sudo darf Fehler bei "npm rebuild". Und darum geht es hier. Nicht um den Fixer.

                                          J apollon77 2 Replies Last reply Reply Quote 0
                                          • J
                                            Jan1 @Diginix last edited by Jan1

                                            @Diginix
                                            Richtig und dann kam die Frage zum Fixer, die berechtigt war und wenn man hier einige Threads liest, auch so manchen Fehler ausbügelt, den man damit nicht gleich oder direkt in Verbindung bringt.

                                            Der Fixer ist ne tolle Sache, aber kein Allheilmittel, sollte aber eigentlich immer als erstes, weil am einfachsten anzuwenden, versucht werden. Das ist auch schon die ganze Kernaussage.

                                            Wenn bei Dir rebuild nicht geht, dann probier doch mal reinstall. Die Doku ist derzeit nicht online, sonst hätte ich es gleich verlinkt.

                                            apollon77 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate
                                            FAQ Cloud / IOT
                                            HowTo: Node.js-Update
                                            HowTo: Backup/Restore
                                            Downloads
                                            BLOG

                                            917
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

                                            installation linux node node.js nodejs windows
                                            106
                                            1105
                                            620817
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo