Hallo,
ich wollte mir gestern die Siri-Integration für meinen fhem installieren, scheitere aber leider schon am nodejs.
Mein fhem läuft auf einem raspberry mit Jessy.
Das "sudo apt-get install npm" läuft sauber durch, das "sudo apt-get install nodejs" ergab folgendes:
Reading package lists... Done
Building dependency tree
Reading state information... Done
nodejs is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Die Abfrage der Versionen ergibt:
npm -v = 5.4.0
node -v = v4.2.1 (sollte das nicht v4.2.6 sein?)
npm config get registry = https://registry.npmjs.org/
Wenn ich nun aber "sudo npm install -g --unsafe-perm homebridge" eingeben, kommt folgender Fehler:
npm ERR! Buffer.alloc is not a function
npm ERR! A complete log of this run can be found in:
npm ERR! /root/.npm/_logs/2017-09-06T23_22_00_394Z-debug.log
Die Datei "/root/.npm/_logs/2017-09-06T23_22_00_394Z-debug.log" gibt es aber nicht.
Auch ein "sudo npm update -g npm" liefert den gleichen Fehler.
Kann mir vielleicht jemand dabei helfen?
Im Netz gibt es dazu nicht viele Hinweise.
Muss ich vielleicht die Version von nodejs wechseln?
Ich habe da den Hinweise gefunden folgendes zu probieren:
curl -sL https://deb.nodesource.com/setup_6.x -o nodesource_setup.sh
sudo apt-get install nodejs
Ist das vielleicht die Lösung? Oder soll ich gleich auf version 8 gehen?
Vielen Dank im Voraus
liebe Grüße
Gerhard
Leider hast Du nicht geschrieben, was für eine Distri in welcher Version Du fährst ...
Ich habe eine Raspbian-"Jessie" wie hier benutzt:
http://www.meintechblog.de/2016/05/fhem-server-auf-dem-raspberry-pi-in-weniger-als-einer-stunde-einrichten/
Damals basierte das noch auf Debian Jessie.
habe aber alle "sudo apt-get update" "sudo apt-get upgrade" gemacht.
lg, Gerhard
Ich befürchte, Du musst updaten. Ein kurzes google ergab, das Du mindestens node 4.5 braucht. Kann Dir aber nicht sagen, ob Du bei der nächsten Debian-Version aktuell genug bist ...
Hallo,
danke.
Muss ich wirklich meinen raspberry komplett neu aufsetzen oder kann ich sonst irgendwie upgraden?
Oder würde ein "curl -sL https://deb.nodesource.com/setup_6.x -o nodesource_setup.sh" reichen?
Oder gleich ein "curl -sL https://deb.nodesource.com/setup_8.x -o nodesource_setup.sh"?
Neu aufsetzen ist mir derzeit einfach ein zu großer Aufwand :-(
Danke im Voraus
Liebe Grüße
Gerhard
Hallo Gerhard,
natürlich musst Du nicht den Pi neu aufsetzen. Du kannst eines der Setup-Skripte laufen lassen, damit werden die Paketquellen von nodejs 6.x bzw. 8.x Deiner Installation hinzugefügt. Danach wird die jeweils aktuellste Version installiert, da ja nodejs aus den neuen Quellen aktueller ist als aus dem Raspbian-Repo.
Hallo,
leider hat das automatische Updaten nicht funktioniert.
Mit dem Befehl "curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -" kommt folgende Fehlermeldung:
## Installing the NodeSource Node.js v8.x repo...
## You appear to be running on ARMv6 hardware. Unfortunately this is not currently supported by the NodeSource Linux distributions. Please use the 'linux-armv6l' binary tarballs available directly from nodejs.org for Node.js v4 and later.
Also musste ich das ganze manuell installieren.
Gott sei Dank gibt es im Netz ein paar passende Anleitungen dazu.
Ich habe es nach dieser installiert:
https://stackoverflow.com/questions/23082242/how-to-install-nodejs-0-10-26-from-binaries-in-ubuntu/23084499#23084499 (https://stackoverflow.com/questions/23082242/how-to-install-nodejs-0-10-26-from-binaries-in-ubuntu/23084499#23084499)
Konkret habe ich folgendes gemacht:
curl -LO http://nodejs.org/dist/latest-v8.x/node-v8.4.0-linux-armv6l.tar.gz
# uncompress
tar xzf node-v8.4.0-linux-armv6l.tar.gz
# selective copy
cp -R ./node-v8.4.0-linux-armv6l/bin/* /usr/local/bin
cp -R ./node-v8.4.0-linux-armv6l/lib/* /usr/local/lib
cp -R ./node-v8.4.0-linux-armv6l/include/* /usr/local/include
cp -R ./node-v8.4.0-linux-armv6l/share/* /usr/local/share
Vielleicht hilft es jemanden.
lg, Gerhard
Besten Dank "gestein"
leider kann ich ich die homebridge immer noch nicht installieren.
Bekomme weiterhin noch die Meldung:
npm ERR! Buffer.alloc is not a function
npm ERR! A complete log of this run can be found in:
npm ERR! /root/.npm/_logs/2017-09-11T14_33_37_479Z-debug.log
Hat es bei dir funktioniert?
Wo ist eigentlich das genaue Problem?
Danke für die Hilfe bin ratlos.
Hallo,
ja, bei mir geht's.
Welche Versionen hast Du denn nun installiert?
Bei mir:
node -v
v8.4.0
nodejs -v
v0.10.29
npm -v
5.3.0
lg, Gerhard
Hallo Gerhard,
danke für deine Antwort.
Leider bekomme ich es nicht zum laufen.
Meine Versionen:
node -v:
v4.2.1
nodejs -v:
v8.4.0
npm -v:
5.4.1
Bei der Eingabe: sudo npm update -g npm && sudo npm update -g
bekomme ich weiterhin folgende Fehlermeldung:
npm ERR! Buffer.alloc is not a function
npm ERR! A complete log of this run can be found in:
npm ERR! /root/.npm/_logs/2017-09-12T13_43_08_321Z-debug.log
Bei der Eingabe: homebridge
/usr/local/lib/node_modules/homebridge/node_modules/mdns/lib/dns_sd.js:35
throw ex;
^
Error: Module version mismatch. Expected 46, got 48.
at Error (native)
at Object.Module._extensions..node (module.js:460:18)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:311:12)
at Module.require (module.js:366:17)
at require (module.js:385:17)
at Object.<anonymous> (/usr/local/lib/node_modules/homebridge/node_modules/mdns/lib/dns_sd.js:24:20)
at Module._compile (module.js:435:26)
at Object.Module._extensions..js (module.js:442:10)
at Module.load (module.js:356:32)
Meine Hardwaer ist ein "Raspberry B"
Danke und LG
Peter
Hallo,
ich leider auch nicht der Profi auf dem Gebiet.
Aber node hat die Version 4.2.1
Du solltest nodejs upgraden, so wie ich es unten beschrieben habe.
Funktioniert das folgende bei Dir nicht?
onkret habe ich folgendes gemacht:
curl -LO http://nodejs.org/dist/latest-v8.x/node-v8.4.0-linux-armv6l.tar.gz
# uncompress
tar xzf node-v8.4.0-linux-armv6l.tar.gz
# selective copy
cp -R ./node-v8.4.0-linux-armv6l/bin/* /usr/local/bin
cp -R ./node-v8.4.0-linux-armv6l/lib/* /usr/local/lib
cp -R ./node-v8.4.0-linux-armv6l/include/* /usr/local/include
cp -R ./node-v8.4.0-linux-armv6l/share/* /usr/local/share
Bricht er mit einem Fehler ab?
lg, Gerhard
Hej,
habe es geschafft.
Es lag an der zu "neuen" nodejs Version.
Habe später die Fehlermeldung bekommen:
pi@raspberrypi ~ $ npm -v
ERROR: npm is known not to run on Node.js v4.2.1
Node.js 4 is supported but the specific version you're running has
a bug known to break npm. Please update to at least ${rel.min} to use this
version of npm. You can find the latest release of Node.js at https://nodejs.org/
Mit der Einstellung läuft es:
node -v: v6.11.0
nodejs -v: v0.10.29
npm -v: 3.10.10
Hab besten Dank für den Support.
DANKE