NEWS
UNSOLVED Adapter update - npm ERR! Maximum call stack size exceeded
-
@xawa
Mhh zuschreibst kein Image benutzt, okay.Welche OS denn genommen und wie installiert ?
Welches Script von wo hast du zum installieren von IoB genommen ? -
@Segway Hi Segway, mit "Raspberry Pi OS using Raspberry Pi Imager" von https://www.raspberrypi.org/software/
Adapter-Updates haben bis vor 2 Wochen prima funktioniert.
cat /etc/os-release
PRETTY_NAME="Raspbian GNU/Linux 10 (buster)" NAME="Raspbian GNU/Linux" VERSION_ID="10" VERSION="10 (buster)" VERSION_CODENAME=buster ID=raspbian ID_LIKE=debian HOME_URL="http://www.raspbian.org/" SUPPORT_URL="http://www.raspbian.org/RaspbianForums" BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs"
Installation von ioBroker hab ich folgendermaßen gemacht:
sudo apt-get --purge remove node sudo apt-get --purge remove nodejs sudo apt-get autoremove curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash - sudo apt-get install -y build-essential libavahi-compat-libdnssd-dev libudev-dev libpam0g-dev nodejs curl -sL https://iobroker.net/install.sh | bash -
-
@xawa npm ist in der V6.14.10 verfügbar, Du hast noch .8
Vielleicht hilft das bei Deinem Problem. -
@MichMein Nein, das zerschießt dir ggf. nur die Paketdatenbank.
Zuerst
cd /opt/iobroker npm cache clean --force
mal probieren. Wenn das nicht funktioniert
cd /opt/iobroker npm rebuild
-
@Thomas-Braun Was genau heißt das?
-
@MichMein Das heißt, wenn du npm aus sich selber heraus global installierst/updatest, dann landet das in /usr/local/bin und es wird nicht mehr die aus dem nodejs-Paket beigepackte Version aufgerufen. npm müsste dann immer manuell auf Stand gehalten werden. Das will man eigentlich nicht.
-
@Thomas-Braun ich habe mein npm gestern wegen der js-Controller Problematik händisch upgedatet und es sieht so aus,
pi@raspberrypi:~ $ which nodejs && nodejs -v && which node && node -v && which npm && npm -v && apt policy nodejs /usr/bin/nodejs v12.20.0 /usr/bin/node v12.20.0 /usr/bin/npm 6.14.10 nodejs: Installed: 12.20.0-1nodesource1 Candidate: 12.20.0-1nodesource1 Version table: *** 12.20.0-1nodesource1 500 500 https://deb.nodesource.com/node_12.x buster/main armhf Packages 100 /var/lib/dpkg/status 10.21.0~dfsg-1~deb10u1+rpi1 500 500 http://raspbian.raspberrypi.org/raspbian buster/main armhf Packages pi@raspberrypi:~ $
Das sieht für mich erstmal nicht falsch aus, oder?
-
@MichMein Ja, das schaut okay aus. Würde dir halt beim nächsten Upgrade von nodeJS über den Paketmanager dann wieder mit dessen Version drübergebügelt werden.
Das gewählte Verzeichnis hängt davon ab mit welchen Rechten das manuelle Upgrade angestoßen wird. -
@Thomas-Braun ok fein, ich werde mal abwarten bis es soweit und dann schauen.
Danke und nen schönen Weihnachtstag noch
-
@xawa sagte in Adapter update - npm ERR! Maximum call stack size exceeded:
Installation von ioBroker hab ich folgendermaßen gemacht:
sudo apt-get install -y build-essential libavahi-compat-libdnssd-dev libudev-dev libpam0g-dev nodejs
Das kann ich so nicht in der Anleitung finden. Dort steht lediglich:
curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash - sudo apt install -y nodejs sudo reboot
-
@Segway
Und genau genommen ist auch dieses Vorgehen nicht erforderlich, wenn man den Installer-Einzeiler aka Installer Skript nutzt. -
@Thomas-Braun sagte in Adapter update - npm ERR! Maximum call stack size exceeded:
@Segway
Und genau genommen ist auch dieses Vorgehen nicht erforderlich, wenn man den Installer-Einzeiler aka Installer Skript nutzt.Okay, dann müsste die Doku überarbeitet werden.
Ist mir persönlich NEU, dass das installer script auch prüft auf nodejs.
-
@Segway
Ja die wird wohl auch hoffentlich bald angepasst und ja das Script installiert Node 12 gleich mit, weshalb sich die nanuelle Installation erübrigt hat. -
sudo apt-get install -y build-essential libavahi-compat-libdnssd-dev libudev-dev libpam0g-dev nodejs
ja den Befehl hab ich aus dem ioBroker Master-Kurs von Matthias Kleine. Aber ich glaube nicht, das der Probleme macht, da die Adapter-Updates bis vor ca. 2 Wochen ja schon rund 6 Wochen problemlos gelaufen sind.
Könnte es sein, dass es mit Github zu tun hat.
Ich expermimentiere gerade etwas mit der Entwicklung eines eigenen Adapters rum und habe mal testweise einen erstellt, der nur eine Testvariable anlegt (ja ich weiß, auf einem Produktivsystem..... ) Schande über mein Haupt!!!npx @iobroker/create-adapter
In dem Verzeichnis habe ich auch mit github gearbeitet und irgendwie habe ich das Gefühl, dass die Probleme weg sind, wenn ich alle Objekte, die Instanz und den Adapter wieder deinstalliere.
Was meint ihr? -
@xawa Das kann sein. Du scheinst da eine Schleife drin zu haben und die frisst den Speicher auf.
-
@Thomas-Braun sagte in Adapter update - npm ERR! Maximum call stack size exceeded:
@MichMein Nein, das zerschießt dir ggf. nur die Paketdatenbank.
Zuerst
cd /opt/iobroker npm cache clean --force
mal probieren. Wenn das nicht funktioniert
cd /opt/iobroker npm rebuild
Danke, Thomas-Braun
-
@Segway sagte in Adapter update - npm ERR! Maximum call stack size exceeded:
Ist mir persönlich NEU, dass das installer script auch prüft auf nodejs.
ist schon länger so.
@Segway sagte in Adapter update - npm ERR! Maximum call stack size exceeded:
Okay, dann müsste die Doku überarbeitet werden.
steht so in der Doku!
https://github.com/ioBroker/ioBroker.docs/blob/master/docs/de/install/linux.md#installation-nodejs -
@Homoran
Oh das ist Mist, hier auf ne Doku auf Github hinzuweisen und die allgemein gebräuchliche oben verlinkte damit als ausgemustert zu entlarven. Das sollte schleunigst auf eine Stand gebracht werden. -
@Jan1 sagte in Adapter update - npm ERR! Maximum call stack size exceeded:
hier auf ne Doku auf Github hinzuweisen
Das ist der Quelltext für die oben verlinkte.
Auf Github wird das geändert und jeder kann eine Änderung durchführen bzw. veranlassen, damit viele Augen eine korrekte Doku ermöglichen -
@Homoran
Das ist ja alles richtig, aber wo klickt denn der neue IOBroker User als erstes (falls er dies überhaupt mal macht)? In der Regel da wo was von Doku steht und die besagt eben noch was anderes. Was dort steht ist ja auch nicht wirklich falsch, aber auch nicht gerade aktuell.