Avatar billede Slettet bruger
09. februar 2016 - 16:25 Der er 11 kommentarer og
1 løsning

Node.js og raspberry pi

Hej.
Jeg kunne godt bruge lidt hjælp til at installere nyeste node.js på min raspberry pi.

Har selvfølgelig logget ind på min rPI via putty.

Her er hvad jeg skriver i terminal og hvad den siger af fejl:


pi@raspberrypi:~ $ wget https://nodejs.org/dist/v5.5.0/node-v5.5.0-linux-armv61.tar.gz
--2016-02-09 15:16:46--  https://nodejs.org/dist/v5.5.0/node-v5.5.0-linux-armv61.tar.gz
Resolving nodejs.org (nodejs.org)... 104.20.23.46, 104.20.22.46, 2400:cb00:2048:1::6814:162e, ...
Connecting to nodejs.org (nodejs.org)|104.20.23.46|:443... connected.
HTTP request sent, awaiting response... 404 Not Found
2016-02-09 15:16:47 ERROR 404: Not Found.


Har også prøvet med andre version af node.js, men får samme fejl.

Håber nogle kan hjælpe mig

Per
Avatar billede Slater Ekspert
09. februar 2016 - 17:15 #1
Det hjælper nok hvis du bruger en URL der findes. F.eks. denne:
https://nodejs.org/dist/v5.5.0/node-v5.5.0-linux-armv6l.tar.xz

(Det er et L, ikke et 1-tal)
Avatar billede Slettet bruger
09. februar 2016 - 20:17 #2
Flot. Har brugt det meste af aftenen i går på at sidde og læse diverse sider i håb om at jeg kunne løse problemet.

Men det hjælp at stave det rigtigt :)
skriv et svar og du for point.

Jeg har et tillægs spørgsmål da jeg nu er støt på endnu et problem.
Hvis det hører til i en tråd for sig selv, så sig endelig til.

meningen med det hele er at jeg skal have installeret Homebridge på min rPI, og efter at have installeret nodejs uden problemer (ved at skrive det rigtige) skal jeg så til at installere Homebridge, hvilket jeg forsøger at gøre ved hjælp at:
sudo npm install -g homebridge

Hvilket giver følgende fejl:
sudo: npm: command not found

Det løste jeg ved at skrive:
sudo apt-get install npm

og derefter:
sudo npm install -g homebridge
denne gang gik det lidt bedre, men ikke helt godt :)
Får nogle Warnings og en masse error. Vedhæfter det herunder

pi@raspberrypi:~ $ sudo npm install -g homebridge
npm WARN engine homebridge@0.2.16: wanted: {"node":">=0.12.0"} (current: {"node":"0.10.29","npm":"1.4.21"})
npm WARN excluding symbolic link utils/ncov -> lib/ncov.js
npm WARN excluding symbolic link utils/ncov -> lib/ncov.js

> curve25519@1.1.0 install /usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/node_modules/curve25519
> node-gyp rebuild

make: Entering directory '/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/node_modules/curve25519/build'
  CXX(target) Release/obj.target/curve/node_curve.o
In file included from ../node_curve.cc:9:0:
../node_modules/nan/nan.h:328:47: error: ‘REPLACE_INVALID_UTF8' is not a member of ‘v8::String'
  static const unsigned kReplaceInvalidUtf8 = v8::String::REPLACE_INVALID_UTF8;
                                              ^
curve.target.mk:82: recipe for target 'Release/obj.target/curve/node_curve.o' failed
make: *** [Release/obj.target/curve/node_curve.o] Error 1
make: Leaving directory '/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/node_modules/curve25519/build'
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack    at ChildProcess.onExit (/usr/share/node-gyp/lib/build.js:267:23)
gyp ERR! stack    at ChildProcess.emit (events.js:98:17)
gyp ERR! stack    at Process.ChildProcess._handle.onexit (child_process.js:809:12)
gyp ERR! System Linux 4.1.17+
gyp ERR! command "nodejs" "/usr/bin/node-gyp" "rebuild"
gyp ERR! cwd /usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/node_modules/curve25519
gyp ERR! node -v v0.10.29
gyp ERR! node-gyp -v v0.12.2
gyp ERR! not ok
npm WARN This failure might be due to the use of legacy binary "node"
npm WARN For further explanations, please read
/usr/share/doc/nodejs/README.Debian


> bignum@0.11.0 install /usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/node_modules/srp/node_modules/bignum
> node-gyp configure build


gyp ERR! UNCAUGHT EXCEPTION
gyp ERR! stack Error: ENOENT, no such file or directory
gyp ERR! stack    at process.cwd (/usr/lib/nodejs/graceful-fs/polyfills.js:8:19)
gyp ERR! stack    at Object.exports.resolve (path.js:309:52)
gyp ERR! stack    at configure (/usr/share/node-gyp/lib/configure.js:26:23)
gyp ERR! stack    at Object.self.commands.(anonymous function) [as configure] (/usr/share/node-gyp/lib/node-gyp.js:66:37)
gyp ERR! stack    at run (/usr/share/node-gyp/bin/node-gyp.js:72:30)
gyp ERR! stack    at Object.<anonymous> (/usr/share/node-gyp/bin/node-gyp.js:133:1)
gyp ERR! stack    at Module._compile (module.js:456:26)
gyp ERR! stack    at Object.Module._extensions..js (module.js:474:10)
gyp ERR! stack    at Module.load (module.js:356:32)
gyp ERR! stack    at Function.Module._load (module.js:312:12)
gyp ERR! System Linux 4.1.17+
gyp ERR! command "nodejs" "/usr/bin/node-gyp" "configure" "build"

/usr/lib/nodejs/graceful-fs/polyfills.js:8
    cwd = origCwd.call(process)
                  ^
Error: ENOENT, no such file or directory
    at process.cwd (/usr/lib/nodejs/graceful-fs/polyfills.js:8:19)
    at errorMessage (/usr/share/node-gyp/bin/node-gyp.js:119:28)
    at issueMessage (/usr/share/node-gyp/bin/node-gyp.js:125:3)
    at process.<anonymous> (/usr/share/node-gyp/bin/node-gyp.js:109:3)
    at process.emit (events.js:95:17)
    at process._fatalException (node.js:272:26)
npm ERR! curve25519@1.1.0 install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the curve25519@1.1.0 install script.
npm ERR! This is most likely a problem with the curve25519 package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!    node-gyp rebuild
npm ERR! You can get their info via:
npm ERR!    npm owner ls curve25519
npm ERR! There is likely additional logging output above.
npm ERR! System Linux 4.1.17+
npm ERR! command "/usr/bin/nodejs" "/usr/bin/npm" "install" "-g" "homebridge"
npm ERR! cwd /home/pi
npm ERR! node -v v0.10.29
npm ERR! npm -v 1.4.21
npm ERR! code ELIFECYCLE
npm WARN This failure might be due to the use of legacy binary "node"
npm WARN For further explanations, please read
/usr/share/doc/nodejs/README.Debian


> mdns@2.2.11 install /usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/node_modules/mdns
> node-gyp rebuild


pi@raspberrypi:~ $

Nogen der kender til en løsning til dette
Per
Avatar billede Slater Ekspert
09. februar 2016 - 20:59 #3
Prøv at apt get install nodejs-legacy

Hvis det er hvad jeg tror, så er det bare fordi en dependency kalder en gammel udgave af node kommandoen. Det skulle fikse det.
Avatar billede Slettet bruger
09. februar 2016 - 22:15 #4
Prøvede dit forslag. og den er up to date:)
Men fandt ud af at node.js ikke var blevet installeret alligevel, så fik den installeret og når jeg skriver: node -v skriver den nu 5.5.0

Når jeg så skriver sudo npm install -g homebridge kommer den med nogle nye fejl, bla noget med at user root ikke har lov til at få adgang til et bestemt bibliotek. Den brokker sig også over at node og node-gyp ikke er samme version (tror jeg) Vedhæfter det hele her. Håber du kan hjælpe.

pi@raspberrypi:~ $ sudo npm install -g homebridge
/usr/local/bin/homebridge -> /usr/local/lib/node_modules/homebridge/bin/homebridge

> mdns@2.2.11 install /usr/local/lib/node_modules/homebridge/node_modules/mdns
> node-gyp rebuild

gyp WARN EACCES user "root" does not have permission to access the dev dir "/root/.node-gyp/5.5.0"
gyp WARN EACCES attempting to reinstall using temporary dev dir "/usr/local/lib/node_modules/homebridge/node_modules/mdns/.node-gyp"
make: Entering directory '/usr/local/lib/node_modules/homebridge/node_modules/mdns/build'
  CXX(target) Release/obj.target/dns_sd_bindings/src/dns_sd.o
  CXX(target) Release/obj.target/dns_sd_bindings/src/dns_service_browse.o
  CXX(target) Release/obj.target/dns_sd_bindings/src/dns_service_enumerate_domains.o
  CXX(target) Release/obj.target/dns_sd_bindings/src/dns_service_get_addr_info.o
  CXX(target) Release/obj.target/dns_sd_bindings/src/dns_service_process_result.o
  CXX(target) Release/obj.target/dns_sd_bindings/src/dns_service_ref.o
  CXX(target) Release/obj.target/dns_sd_bindings/src/dns_service_ref_deallocate.o
  CXX(target) Release/obj.target/dns_sd_bindings/src/dns_service_ref_sock_fd.o
  CXX(target) Release/obj.target/dns_sd_bindings/src/dns_service_register.o
  CXX(target) Release/obj.target/dns_sd_bindings/src/dns_service_resolve.o
  CXX(target) Release/obj.target/dns_sd_bindings/src/dns_service_update_record.o
  CXX(target) Release/obj.target/dns_sd_bindings/src/mdns_utils.o
  CXX(target) Release/obj.target/dns_sd_bindings/src/network_interface.o
  CXX(target) Release/obj.target/dns_sd_bindings/src/socket_watcher.o
  CXX(target) Release/obj.target/dns_sd_bindings/src/txt_record_ref.o
  CXX(target) Release/obj.target/dns_sd_bindings/src/txt_record_create.o
  CXX(target) Release/obj.target/dns_sd_bindings/src/txt_record_deallocate.o
  CXX(target) Release/obj.target/dns_sd_bindings/src/txt_record_set_value.o
  CXX(target) Release/obj.target/dns_sd_bindings/src/txt_record_get_length.o
  CXX(target) Release/obj.target/dns_sd_bindings/src/txt_record_buffer_to_object.o
  SOLINK_MODULE(target) Release/obj.target/dns_sd_bindings.node
  COPY Release/dns_sd_bindings.node
make: Leaving directory '/usr/local/lib/node_modules/homebridge/node_modules/mdns/build'

> ed25519@0.0.3 install /usr/local/lib/node_modules/homebridge/node_modules/ed25519
> node-gyp rebuild

gyp WARN EACCES user "root" does not have permission to access the dev dir "/root/.node-gyp/5.5.0"
gyp WARN EACCES attempting to reinstall using temporary dev dir "/usr/local/lib/node_modules/homebridge/node_modules/ed25519/.node-gyp"
make: Entering directory '/usr/local/lib/node_modules/homebridge/node_modules/ed25519/build'
  CC(target) Release/obj.target/ed25519/src/ed25519/keypair.o
  CC(target) Release/obj.target/ed25519/src/ed25519/sign.o
  CC(target) Release/obj.target/ed25519/src/ed25519/open.o
  CC(target) Release/obj.target/ed25519/src/ed25519/crypto_verify_32.o
  CC(target) Release/obj.target/ed25519/src/ed25519/ge_double_scalarmult.o
  CC(target) Release/obj.target/ed25519/src/ed25519/ge_frombytes.o
  CC(target) Release/obj.target/ed25519/src/ed25519/ge_scalarmult_base.o
  CC(target) Release/obj.target/ed25519/src/ed25519/ge_precomp_0.o
  CC(target) Release/obj.target/ed25519/src/ed25519/ge_p2_0.o
  CC(target) Release/obj.target/ed25519/src/ed25519/ge_p2_dbl.o
  CC(target) Release/obj.target/ed25519/src/ed25519/ge_p3_0.o
  CC(target) Release/obj.target/ed25519/src/ed25519/ge_p3_dbl.o
  CC(target) Release/obj.target/ed25519/src/ed25519/ge_p3_to_p2.o
  CC(target) Release/obj.target/ed25519/src/ed25519/ge_p3_to_cached.o
  CC(target) Release/obj.target/ed25519/src/ed25519/ge_p3_tobytes.o
  CC(target) Release/obj.target/ed25519/src/ed25519/ge_madd.o
  CC(target) Release/obj.target/ed25519/src/ed25519/ge_add.o
  CC(target) Release/obj.target/ed25519/src/ed25519/ge_msub.o
  CC(target) Release/obj.target/ed25519/src/ed25519/ge_sub.o
  CC(target) Release/obj.target/ed25519/src/ed25519/ge_p1p1_to_p3.o
  CC(target) Release/obj.target/ed25519/src/ed25519/ge_p1p1_to_p2.o
  CC(target) Release/obj.target/ed25519/src/ed25519/ge_tobytes.o
  CC(target) Release/obj.target/ed25519/src/ed25519/fe_0.o
  CC(target) Release/obj.target/ed25519/src/ed25519/fe_1.o
  CC(target) Release/obj.target/ed25519/src/ed25519/fe_cmov.o
  CC(target) Release/obj.target/ed25519/src/ed25519/fe_copy.o
  CC(target) Release/obj.target/ed25519/src/ed25519/fe_neg.o
  CC(target) Release/obj.target/ed25519/src/ed25519/fe_add.o
  CC(target) Release/obj.target/ed25519/src/ed25519/fe_sub.o
  CC(target) Release/obj.target/ed25519/src/ed25519/fe_mul.o
  CC(target) Release/obj.target/ed25519/src/ed25519/fe_sq.o
  CC(target) Release/obj.target/ed25519/src/ed25519/fe_sq2.o
  CC(target) Release/obj.target/ed25519/src/ed25519/fe_invert.o
  CC(target) Release/obj.target/ed25519/src/ed25519/fe_tobytes.o
  CC(target) Release/obj.target/ed25519/src/ed25519/fe_isnegative.o
  CC(target) Release/obj.target/ed25519/src/ed25519/fe_isnonzero.o
  CC(target) Release/obj.target/ed25519/src/ed25519/fe_frombytes.o
  CC(target) Release/obj.target/ed25519/src/ed25519/fe_pow22523.o
  CC(target) Release/obj.target/ed25519/src/ed25519/sc_reduce.o
  CC(target) Release/obj.target/ed25519/src/ed25519/sc_muladd.o
  CXX(target) Release/obj.target/ed25519/src/ed25519.o
  SOLINK_MODULE(target) Release/obj.target/ed25519.node
  COPY Release/ed25519.node
make: Leaving directory '/usr/local/lib/node_modules/homebridge/node_modules/ed25519/build'

> curve25519@1.1.0 install /usr/local/lib/node_modules/homebridge/node_modules/curve25519
> node-gyp rebuild

gyp WARN EACCES user "root" does not have permission to access the dev dir "/root/.node-gyp/5.5.0"
gyp WARN EACCES attempting to reinstall using temporary dev dir "/usr/local/lib/node_modules/homebridge/node_modules/curve25519/.node-gyp"
make: Entering directory '/usr/local/lib/node_modules/homebridge/node_modules/curve25519/build'
  CXX(target) Release/obj.target/curve/node_curve.o
  SOLINK_MODULE(target) Release/obj.target/curve.node
  COPY Release/curve.node
make: Leaving directory '/usr/local/lib/node_modules/homebridge/node_modules/curve25519/build'

> bignum@0.11.0 install /usr/local/lib/node_modules/homebridge/node_modules/bignum
> node-gyp configure build

gyp WARN EACCES user "root" does not have permission to access the dev dir "/root/.node-gyp/5.5.0"
gyp WARN EACCES attempting to reinstall using temporary dev dir "/usr/local/lib/node_modules/homebridge/node_modules/bignum/.node-gyp"
gyp WARN install got an error, rolling back install
gyp WARN install got an error, rolling back install
gyp ERR! configure error
gyp ERR! stack Error: This is most likely not a problem with node-gyp or the package itself and
gyp ERR! stack is related to network connectivity. In most cases you are behind a proxy or have bad
gyp ERR! stack network settings.
gyp ERR! stack    at Request.<anonymous> (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/install.js:227:21)
gyp ERR! stack    at emitOne (events.js:90:13)
gyp ERR! stack    at Request.emit (events.js:182:7)
gyp ERR! stack    at Request.onRequestError (/usr/local/lib/node_modules/npm/node_modules/request/request.js:867:8)
gyp ERR! stack    at emitOne (events.js:90:13)
gyp ERR! stack    at ClientRequest.emit (events.js:182:7)
gyp ERR! stack    at TLSSocket.socketErrorListener (_http_client.js:262:9)
gyp ERR! stack    at emitOne (events.js:90:13)
gyp ERR! stack    at TLSSocket.emit (events.js:182:7)
gyp ERR! stack    at connectErrorNT (net.js:997:8)
gyp ERR! System Linux 4.1.17+
gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "configure" "build"
gyp ERR! cwd /usr/local/lib/node_modules/homebridge/node_modules/bignum
gyp ERR! node -v v5.5.0
gyp ERR! node-gyp -v v3.0.3
gyp ERR! not ok
npm WARN install:bignum@0.11.0 bignum@0.11.0 install: `node-gyp configure build`
npm WARN install:bignum@0.11.0 Exit status 1
/usr/local/lib
&#9492;&#9472;&#9472; (empty)

npm ERR! code 1
pi@raspberrypi:~ $ homebridge
-bash: homebridge: command not found
pi@raspberrypi:~ $ node -v
v5.5.0
Avatar billede Slater Ekspert
10. februar 2016 - 08:29 #5
Den fejl kender jeg ikke selv, men hvad jeg lige kan finde på Google, er det en bug i node-gyp.

Bl.a. https://github.com/nodejs/node-gyp/issues/454

Der er et par løsningsforslag i den tråd, bl.a. at tilføje --unsafe-perm til din npm install
Avatar billede Slettet bruger
10. februar 2016 - 11:27 #6
Tak.
Det vil jeg prøve når jeg kommer hjem fra job.

Bare for ar være helt sikker, jeg skriver bare:

Sudo npm install --unsafe-perm -g homebridge?
Avatar billede Slater Ekspert
10. februar 2016 - 11:43 #7
Ja.
Avatar billede Slettet bruger
10. februar 2016 - 18:32 #8
Det hjælp. Nu fik jeg installeret homebridge samt et sonos plugin.
Men nu får jeg nye fejl når jeg prøver at "starte" homebridge.
Se herunder:

pi@raspberrypi:~ $ homebridge
*** WARNING *** The program 'node' uses the Apple Bonjour compatibility layer of Avahi.
*** WARNING *** Please fix your application to use the native API of Avahi!
*** WARNING *** For more information see <http://0pointer.de/avahi-compat?s=libdns_sd&e=node>
*** WARNING *** The program 'node' called 'DNSServiceRegister()' which is not supported (or only supported partially) in the Apple Bonjour compatibility layer of Avahi.
*** WARNING *** Please fix your application to use the native API of Avahi!
*** WARNING *** For more information see <http://0pointer.de/avahi-compat?s=libdns_sd&e=node&f=DNSServiceRegister>
module.js:341
    throw err;
    ^

Error: Cannot find module './build/Release/bignum'
    at Function.Module._resolveFilename (module.js:339:15)
    at Function.Module._load (module.js:290:25)
    at Module.require (module.js:367:17)
    at new require (internal/module.js:16:19)
    at Object.<anonymous> (/usr/local/lib/node_modules/homebridge/node_modules/bignum/index.js:4:14)
    at Module._compile (module.js:413:34)
    at Object.Module._extensions..js (module.js:422:10)
    at Module.load (module.js:357:32)
    at Function.Module._load (module.js:314:12)
    at Module.require (module.js:367:17)
pi@raspberrypi:~ $

Ligner noget nallade med Apple Bonjour og Avahi? Kender du til en løsning på dette problem?
Avatar billede Slettet bruger
10. februar 2016 - 20:41 #9
De øverste WARNINGs skal man ikke tage sig af, det er ikke noget der betyder noget har jeg fundet ud af. Så det er kun den sidste del som er et problem
Avatar billede Slater Ekspert
11. februar 2016 - 19:26 #10
Det kender jeg desværre ikke lige til nogen løsning på. Jeg har googlet lidt på det, men der er ikke noget åbenlyst, hvor man siger "dét løser det".

Dog er './build/Release/bignum' jo en relativ sti. Har du kigget efter om den findes? Umiddelbart burde mappen 'build' jo ligge i samme mappe som den kaldende fil, og ikke som normalt i node_modules, hvor man ikke ville starte en sti med './'
Avatar billede Slettet bruger
12. februar 2016 - 19:21 #11
Fik det sgu til at virke.
Startede helt forfra, formatere SF kortet og startede fra scratch.

Smid lige et svar, så for du pointene, du hjælp mig jo med det originale spørgsmål.
Avatar billede Slater Ekspert
12. februar 2016 - 19:40 #12
Det var da godt. Tak.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester



IT-JOB