NEWS
(gelöst) IOBROKER installation klappt nicht / npm Fehler
-
Hallo audioconcept,
das Problem liegt nicht am Debian Jessie sondern am aktuellen Raspbian Image. Dieses hat bereits node.js und auch node-red installiert. Die node-red-Installation stört nicht weiter (weil der Prozess nicht automatisch gestartet wird) aber die node.js-Installation schon, wenn man hier einfach ein anderes debian-Package mit node.js drüber installieren möchte.
Das liegt daran, dass weder das von Raspian verwendete Package noch das hier im Forum verlinkte Package ein von nodesource gebautes Package ist und der Package-Installer die alte Installation nicht erst entfernt, bevor die neue Version installiert wird. Das Ergebnis ist dann wie bei dir, dass die Sym-Links für node und npm im Verzeichnis /usr/bin nicht auf die richtigen Dateien verweisen.
Falls eines der nodesource-Packages installiert wird, sollten die Links wie folgt sein:
node -> /etc/alternatives/node oder auch direkt node -> /usr/bin/nodejs npm -> ../lib/node_modules/npm/bin/npm-cli.js
Der Grund, warum im Raspbian-Image ein selbst gebautes node.js verwendet wird, liegt daran, dass das Image immer noch auch die alten Raspberry Pi unterstützen soll und diese verwenden noch den ARM6 Befehlssatz, für den es lange keine offiziellen Builds gab.
Es gibt nun verschiedene Möglichkeiten, mit dem Problem umzugehen:
1. Verwenden des RASPBIAN JESSIE LITE Image
Dieses Minimalimage sollte noch kein node.js installiert haben. Ich hab es aber selber noch nicht ausprobiert.
2. Einfach die schon im Image installierte node.js-Version verwenden und diesen Schritt in der Anleitung für iobroker auslassen.
3. Die installierte Version zuerst deinstallieren.
Mit````
dpkg -lWenn ich den Verlauf richtig interpretiert habe, ist das Problem-Package __nodejs-legacy__. >! root@raspberrypi:/usr/bin# apt-cache show nodejs-legacy >! Package: nodejs-legacy >! Source: nodejs >! Version: 0.10.29~dfsg-2 >! Installed-Size: 137 >! Maintainer: Debian Javascript Maintainers <pkg-javascript-devel@lists.alioth.debian.org> >! Architecture: all >! Depends: nodejs (>= 0.6.19~dfsg1-3~) >! Conflicts: node >! Size: 80366 >! SHA256: 1c1927d9f15fe76bc0220af8de62e31b1bdef2932af44a27a22bdde3eed9df5a >! SHA1: 09df177623423cb20fa221a5ea0231d60700f437 >! MD5sum: a7e9775e881f46a6df338325448ce035 >! Description: evented I/O for V8 javascript (legacy symlink) >! Node.js is a platform built on Chrome's JavaScript runtime for easily >! building fast, scalable network applications. Node.js uses an >! event-driven, non-blocking I/O model that makes it lightweight and >! efficient, perfect for data-intensive real-time applications that run >! across distributed devices. >! . >! This package contains a symlink for legacy Node.js code requiring >! binary to be /usr/bin/node (not /usr/bin/nodejs as provided in Debian). >! . >! No other Debian packages should depend on this package. For more >! information, see >! <[http://lists.debian.org/debian-devel-an … 00002.html](http://lists.debian.org/debian-devel-announce/2012/07/msg00002.html)> >! Description-md5: c72fe66177b6537572dbe9b186ed3611 >! Homepage: [http://nodejs.org/](http://nodejs.org/) >! Section: web >! Priority: extra >! Filename: pool/main/n/nodejs/nodejs-legacy_0.10.29~dfsg-2_all.deb Dieses Package verhindert, dass die Symlinks korrekt gesetzt werden können.
-
Hi
hab noch mal die Light Version installiert, aber da hat man kein SSH und auch keine Grafische Oberfläche. Die brauche ich unbedingt.
Hat den noch niemand IOBROKER auf Raspbian Jessie zum laufen gebraucht?
Wo bekommt man sonst noch Rasbian Wheezy her?
-
Ja klar bei mir läuft es, aber der automatische Systemstart funktioniert leider nicht! Da ich es auf einem Raspi 3 installiert habe und dort scheint sich was geändert zu haben, was die Eintragung als Systemdienst angeht! [emoji6]
Aber benutze das aktuellste Rasbian Jessy Image und iobroker läuft einwandfrei
Gesendet von meinem iPhone mit Tapatalk
-
Ich hab zuerst das insstallierte nodejs von hand entfernt, also alle dateien mit dem namen node gesucht und gelöscht.
Installation von nodejs 4.x nach dieser Anleitung: https://nodejs.org/en/download/package- … tributions
Gesendet von meinem Jolla mit Tapatalk
-
Ja klar bei mir läuft es, aber der automatische Systemstart funktioniert leider nicht! Da ich es auf einem Raspi 3 installiert habe und dort scheint sich was geändert zu haben, was die Eintragung als Systemdienst angeht! [emoji6] `
Also bei mir läuft auch das init.d Skript unter Jessie.
Für den automatischen Start gibt es unter /etc/init.d die Datei iobroker.sh. Diese funktioniert unter Jessie wie Weezy gleich.
Wichtig ist, dass dieses Skript zum Start den Pfad für das Node-Kommando node in einer Variable NODECMD setzt. Diese Auflösung muss funktionieren.
Bei mir hab ich die fest auf /usr/bin/node gesetzt.
-
@Jey Cee:Ich hab zuerst das insstallierte nodejs von hand entfernt, also alle dateien mit dem namen node gesucht und gelöscht.
Installation von nodejs 4.x nach dieser Anleitung: https://nodejs.org/en/download/package- … tributions
Gesendet von meinem Jolla mit Tapatalk `
Hi gibt es einen Befehl mit dem man alle Node Dateien löschen kann? Im Programmieren bin ich nicht so fit.
-
Achtung der folgende befehl löscht alle gefundenen dateien.
Find -name node -delete
Gesendet von meinem Jolla mit Tapatalk
-
Ja klar bei mir läuft es, aber der automatische Systemstart funktioniert leider nicht! Da ich es auf einem Raspi 3 installiert habe und dort scheint sich was geändert zu haben, was die Eintragung als Systemdienst angeht! [emoji6]
Aber benutze das aktuellste Rasbian Jessy Image und iobroker läuft einwandfrei `
Leider geht das Script nicht, sofern du von Wheezy auf Jessie migrierst funktioniert es auch, aber sofern du eine neu Installation durchführst mit dem neusten Jessie Image auf dem Raspberry PI 3 erhälst du am Ende einen Fehler "unerwartetes Zeilenende in Zeile 69" oder so, den genauen Wortlaut weiß ich nicht mehr genau. Der ioBroker Dienst ist leider nicht eingetragen und ioBroker startet nicht mehr automatisch nach einem reboot.
Starte ich ioBroker aber manuell, läuft alles perfekt. Es liegt höchstwahrscheinlich an der geänderten systemd-Architektur im neusten Image. Vielleicht kann sich das irgend jemand mal anschauen
-
Hallo simpixo,
hat hierzu schon jemand in Jira oder auf github ein Ticket aufgemacht?
-
Ich weiß es leider nicht. Wie kann ich da eins eröffnen!?
Gesendet von meinem iPhone mit Tapatalk
-
http://www.iobroker.net/?page_id=2926&lang=de
Die Ausgabe von npm wäre bestimmt bei der Fehlersuche hilfreich.
Aber so wie es aussieht, hat bluefox schon mitbekommen, dass es da ein Problem gibt: http://forum.iobroker.net/viewtopic.php … 460#p21696
-
Ja ich habe ihn mal diesbezüglich angeschrieben [emoji6] dachte erst das ich was falsch gemacht habe, aber nach der Recherche muss es an der geänderten Architektur liegen! Ist aber nur eine Vermutung, bin ja nicht so vertraut mit Linux[emoji6]
Gesendet von meinem iPhone mit Tapatalk
-
Leider geht das Script nicht, sofern du von Wheezy auf Jessie migrierst funktioniert es auch, aber sofern du eine neu Installation durchführst mit dem neusten Jessie Image auf dem Raspberry PI 3 erhälst du am Ende einen Fehler "unerwartetes Zeilenende in Zeile 69" oder so, den genauen Wortlaut weiß ich nicht mehr genau. Der ioBroker Dienst ist leider nicht eingetragen und ioBroker startet nicht mehr automatisch nach einem reboot.
Ich kann das jetzt nicht vollständig nachvollziehen, da ich nur ein System habe und dies zurzeit produktiv ist (never change a running system), von der Fehlermeldung und der Zeilennummer tippe ich darauf, dass es am letzten Zeilenumbruch in der Datei /install/linux/install.sh liegt.
Laut Debian-Forum haben auch andere User seit Umstellung auf die in Jessie enthaltenen bash-Version Probleme mit Batch-Skripten, die unter Windows gespeichert wurden und somit am Ende der letzten Zeile kein Linux-konformer Zeilenumbruch ist.
Die Datei hat 68 Zeilen, somit kommt das mit der Fehlermeldung für Zeile 69 hin.
-
Leider geht das Script nicht, sofern du von Wheezy auf Jessie migrierst funktioniert es auch, aber sofern du eine neu Installation durchführst mit dem neusten Jessie Image auf dem Raspberry PI 3 erhälst du am Ende einen Fehler "unerwartetes Zeilenende in Zeile 69" oder so, den genauen Wortlaut weiß ich nicht mehr genau. Der ioBroker Dienst ist leider nicht eingetragen und ioBroker startet nicht mehr automatisch nach einem reboot.
Ich kann das jetzt nicht vollständig nachvollziehen, da ich nur ein System habe und dies zurzeit produktiv ist (never change a running system), von der Fehlermeldung und der Zeilennummer tippe ich darauf, dass es am letzten Zeilenumbruch in der Datei /install/linux/install.sh liegt.
Laut Debian-Forum haben auch andere User seit Umstellung auf die in Jessie enthaltenen bash-Version Probleme mit Batch-Skripten, die unter Windows gespeichert wurden und somit am Ende der letzten Zeile kein Linux-konformer Zeilenumbruch ist.
Die Datei hat 68 Zeilen, somit kommt das mit der Fehlermeldung für Zeile 69 hin. `
Ok das hört sich schon mal gut an, konnte ich auch nachvollziehen, obwohl die Datei von mir nicht verändert worden ist. Denn der Fehler kommt ja bei der Installation. Aber ich habe meine Datei kontrolliert und jetzt spuckt die Datei keinen Fehler mehr raus.
Aber wie kann ich es jetzt im Nachhinein einrichten das ioBroker wieder nach einem reboot automatisch startet?
-
@simpixo:`Ich kann das jetzt nicht vollständig nachvollziehen, da ich nur ein System habe und dies zurzeit produktiv ist (never change a running system), von der Fehlermeldung und der Zeilennummer tippe ich darauf, dass es am letzten Zeilenumbruch in der Datei /install/linux/install.sh liegt.
Laut Debian-Forum haben auch andere User seit Umstellung auf die in Jessie enthaltenen bash-Version Probleme mit Batch-Skripten, die unter Windows gespeichert wurden und somit am Ende der letzten Zeile kein Linux-konformer Zeilenumbruch ist.
Die Datei hat 68 Zeilen, somit kommt das mit der Fehlermeldung für Zeile 69 hin. `
Ok das hört sich schon mal gut an, konnte ich auch nachvollziehen, obwohl die Datei von mir nicht verändert worden ist. Denn der Fehler kommt ja bei der Installation. Aber ich habe meine Datei kontrolliert und jetzt spuckt die Datei keinen Fehler mehr raus.
Aber wie kann ich es jetzt im Nachhinein einrichten das ioBroker wieder nach einem reboot automatisch startet? `
Nachdem das unsichtbare Zeichen entfernt war, habe ich den Dienst nochmal mit
update-rc.d script_name defaults
jetzt hat er es ohne einen Fehler eingetragen. Auch ein reboot zeigte das iobroker jetzt automatisch startet Also lag es wirklich nur an dem unsichtbaren Zechen, aber es musste ja schon von Anfang an drin gewesen sein, da der Fehler bei der Installation kam
Danke :!:
-
@Jey Cee:Achtung der folgende befehl löscht alle gefundenen dateien.
Find -name node -delete
Gesendet von meinem Jolla mit Tapatalk `
Das geht nicht da kommt:
root@raspberrypi:/home/pi# Find -name node -delete
bash: Find: Kommando nicht gefunden.
root@raspberrypi:/home/pi#
Wenn ich jetzt npm install iobroker installiere kommt die Meldung das ich nicht als root angemeldet bin.
hab aber vorher sudo su angegeben. Bei Jessie scheint das ja ein wenig anders zu sein. was kann ich machen?
-
Klein geschriebenes find
Es reicht, wenn du /usr/bin/node löschst.
-
Hi ok das klappte.Hab dann Node nachinstalliert und dann Iobroker aber es kommt die Meldung das ich es als root versuchen soll. Mache ich aber!
root@raspberrypi:/home/pi# wget http://download.iobroker.net/nodejs0_12_6_armhf.deb --2016-03-14 18:59:01-- http://download.iobroker.net/nodejs0_12_6_armhf.deb Auflösen des Hostnamen »download.iobroker.net (download.iobroker.net)«... 5.189.159.127, 2a02:c200:1:10:3:1:51:1 Verbindungsaufbau zu download.iobroker.net (download.iobroker.net)|5.189.159.127|:80... verbunden. HTTP-Anforderung gesendet, warte auf Antwort... 200 OK Länge: 6728900 (6,4M) [application/x-debian-package] In »»nodejs0_12_6_armhf.deb«« speichern. nodejs0_12_6_armhf. 100%[=====================>] 6,42M 998KB/s in 5,7s 2016-03-14 18:59:07 (1,13 MB/s) - »»nodejs0_12_6_armhf.deb«« gespeichert [6728900/6728900] root@raspberrypi:/home/pi# dpkg -i nodejs0_12_6_armhf.deb (Lese Datenbank ... 125413 Dateien und Verzeichnisse sind derzeit installiert.) Vorbereitung zum Entpacken von nodejs0_12_6_armhf.deb ... Entpacken von node (0.12.6-1) über (0.12.6-1) ... node (0.12.6-1) wird eingerichtet ... Trigger für man-db (2.7.0.2-5) werden verarbeitet ... root@raspberrypi:/home/pi# rm nodejs0_12_6_armhf.deb root@raspberrypi:/home/pi# cd /opt/iobroker root@raspberrypi:/opt/iobroker# npm install iobroker / > iobroker@0.7.0 install /opt/iobroker/node_modules/iobroker > node lib/setup.js npm install iobroker.js-controller --production --prefix /opt/iobroker npm ERR! Linux 4.1.18-v7+ npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "install" "iobroker.js-controller" "--production" "--prefix" "/opt/iobroker" npm ERR! node v0.12.6 npm ERR! npm v2.11.2 npm ERR! path /root/.npm/iobroker.js-controller/0.8.7/package npm ERR! code EACCES npm ERR! errno -13 npm ERR! Error: EACCES, mkdir '/root/.npm/iobroker.js-controller/0.8.7/package' npm ERR! at Error (native) npm ERR! { [Error: EACCES, mkdir '/root/.npm/iobroker.js-controller/0.8.7/package'] npm ERR! errno: -13, npm ERR! code: 'EACCES', npm ERR! path: '/root/.npm/iobroker.js-controller/0.8.7/package' } npm ERR! npm ERR! Please try running this command again as root/Administrator. npm ERR! Please include the following file with any support request: npm ERR! /opt/iobroker/node_modules/iobroker/npm-debug.log npm install iobroker.admin --production --prefix /opt/iobroker npm ERR! Linux 4.1.18-v7+ npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "install" "iobroker.admin" "--production" "--prefix" "/opt/iobroker" npm ERR! node v0.12.6 npm ERR! npm v2.11.2 npm ERR! path /root/.npm/iobroker.admin/0.8.6/package npm ERR! code EACCES npm ERR! errno -13 npm ERR! Error: EACCES, mkdir '/root/.npm/iobroker.admin/0.8.6/package' npm ERR! at Error (native) npm ERR! { [Error: EACCES, mkdir '/root/.npm/iobroker.admin/0.8.6/package'] npm ERR! errno: -13, npm ERR! code: 'EACCES', npm ERR! path: '/root/.npm/iobroker.admin/0.8.6/package' } npm ERR! npm ERR! Please try running this command again as root/Administrator. npm ERR! Please include the following file with any support request: npm ERR! /opt/iobroker/node_modules/iobroker/npm-debug.log Cannot install as normal user. Try sudo... sudo npm install iobroker.admin --production --prefix /opt/iobroker
-
Du musst erst als User Pi das Passwort für den Root User ändern! Das machst du mit
sudo passwd Root
Und dann musst du dich nicht als Pi sondern als Root am Raspberry Pi anmelden [emoji6]
Ein sudo su reicht da leider nicht [emoji6]
Gesendet von meinem iPhone mit Tapatalk
-
Hi
ja bei Raspbian Wheezy ging das auch immer aber bei Raspbian Jessie kann man das zwar so eingeben aber er behällt diese Änderung nicht.
Hast du für Jessie eine genaue Anleitung was ich da machen muss?