Kérdés:
Telepítse a Node.js fájlt egy SD-kártyára, hogy minden Pi modellen működjön
4Taine
2016-06-03 13:23:22 UTC
view on stackexchange narkive permalink

Az utolsó raspbian verziót (2016-05-27) letöltöm a https://www.raspberrypi.org/downloads/raspbian/ webhelyről.

A Node.js már a 0.10.29-es verzióval telepítettem, ezért eltávolítottam és újratelepítettem a

  apt-get remove noderedapt-get remove nodejs nodejs-legacycurl -sL https://deb.nodesource.com/ setup_4.x | sudo bash -sudo apt-get install -y build-essential python-rpi.gpio nodejs  

De szeretném, ha SD-kártyám működne az összes Raspberry Pi modellen (Pi 1, 2, 3 és Zero) Jelenleg amikor egy

  csomópontot -v  

csinálok egy Pi 1-en vagy egy Pi-nullanál, akkor "illegális utasítást kapok ".

A kérdésem a következő: Lehetséges-e telepíteni a Node.js másolatát egy Pi-re, amely minden modellen működik? Vagy csak az összes Pis-en működik a v0.10.29?

Ha véletlenszerű webhelyekről tölt le forrásokat, akkor problémákat kell várnia. Mitől gondolja, hogy a Node.js ezen verziója alkalmas a Raspberry Pi-re?
Ez NEM véletlenszerű webhely, de ahová a hivatalos nodejs telepítési utasítások mutatnak. Pihenj, lásd a válaszomat.
öt válaszokat:
Grmpfhmbl
2016-06-03 19:00:40 UTC
view on stackexchange narkive permalink

Ennek oka, hogy ez nem működik a Raspberry Pi 1-nél, az, hogy ezeket a csomagokat rossz CPU-ra fordították - armhf (ARM 32 bites hard-float, ARMv7 és újabb: arm-linux-gnueabihf)

Tehát a csomagnak a Pi2-en kell működnie, de a Pi1-en nem. Gondolom, nincs gyors és egyszerű módszer a mindkét képen futó kép elkészítéséhez. Ha modern nodejs-okat akarsz telepíteni a Pi1-re, akkor töltsd le a megfelelő tarballt a https://nodejs.org/dist/ webhelyről. Például:

  cd ~ wget https://nodejs.org/dist/v6.2.1/node-v6.2.1-linux-armv6l.tar.gztar -xzf node-v6.2.1-linux-armv6l.tar.gznode-v6.2.1-linux-armv6l / bin / node -v  

Az utolsó parancsnak ki kell nyomtatnia a következőt: v6.2.1.

Most átmásolhatja a / usr / local

  cd csomópont-v6.2.1-linux-armv6l / sudo cp -R * / usr / local /  

Az / usr / local / bin hozzáadása az útvonalhoz

  export PATH = $ PATH: / usr / local / binnode -vnpm -v  

Ennek meg kell nyomtassa ki a 6.2.1 és a 3.9.3 elemeket a nodejs és az npm verzióihoz. Ha más verzióra van szüksége, akkor egyszerűen válassza ki a tetszőleges verziót a letöltések közül.

Ne felejtse el hozzáadni a PATH-t a .bashrc hez, hogy állandóvá váljon.

A megfelelő architektúra megtalálásához beírhatja a cat / proc / cpuinfo parancsot egy terminálba, és ennek valami ilyet kell mutatnia:

  pi @ raspberrypi : ~ $ cat / proc / cpuinfoprocessor: 0modellnév: ARMv6-kompatibilis processzor rev 7 (v6l) BogoMIPS: 697.95Jellemzők: fél hüvelykujj fastmult vfp edsp java tls CPU implementátor: 0x41CPU architektúra: 7CPU változat: 0x0CPU rész: 0xb76CPU revízió: / code> 

frissítés Most láttam ezt a választ https://raspberrypi.stackexchange.com/a/37976/34825, amely alapvetően ugyanazt csinálja, mint Megtettem, kivéve a csomópont telepítését a / opt / könyvtárban, és szimplaink létrehozását a / usr / bin / fájlban.

köszönöm a válaszod, azt hiszem, telepítek 2 nodejs-t (egy armv6 és egy armv7), és hozzáadok egy szolgáltatást a rendszerindításkor történő létrehozáshoz egy symlink linkre az / usr / bin / csomóponton a megfelelő csomópont mellett (a / usr / local / bin / könyvtárba node_armv6 vagy / usr / local / bin / node_armv7)
Ez nagyon jó volt. sikerült telepíteni a Node 7.7.4-et a Pi Zero W-re. Köszönöm!
Aki ezt olvassa: Valószínűleg a legújabb csomópont verziót akarja a 6.2.1 verzió helyett. Egyszerűen cserélje ki a fenti parancsok verziószámát a https://nodejs.org/dist/ webhelyen kiválasztott verzióra
Audstanley
2017-07-01 19:35:11 UTC
view on stackexchange narkive permalink

Egy kódsorban, a legújabb verzió minden málna pi számára:

  wget -O - https://raw.githubusercontent.com/audstanley/NodeJs-Raspberry-Pi/master /Install-Node.sh | sudo bash; csomópont -v;  

Forráskód: https://github.com/audstanley/NodeJs-Raspberry-Pi/

Első pillantásra úgy tűnik, hogy nincsenek józan észellenőrzések a forgatókönyvben. Nagyon vigyáznék, hogy ezt csak rootként futtassam.
Ez megoldotta az armv6 elavult Nodejs-jával kapcsolatos problémámat, amikor az `apt install`-tal telepítettem
DanielMuhlig
2017-08-12 15:32:52 UTC
view on stackexchange narkive permalink

Tetszett az Audstanley fenti megoldása, bár ez nem működött a dobozból.

Megállapítottam, hogy root hozzáféréssel kell futtatnom a szkriptet.

Ez nekem bevált:

  sudo bashsudo wget -O - https://raw.githubusercontent.com/audstanley/NodeJs-Raspberry-Pi/master/Install- Node.sh | bashexitnode -v  
Nem működött, mert rootként futtatja a "wget" fájlt, és nem a szkriptet futtató bash-t. Egyszerűen tegye a "sudo" szót a pipa elé a "bash" elé.
Steven de Salas
2016-09-16 19:53:52 UTC
view on stackexchange narkive permalink

Ugyanez a probléma merült fel, és készítettem néhány gyors bash szkriptet a v4, v5 és v6.3 csomópontok telepítéséhez:

https://github.com/sdesalas/node-pi-zero

A Pi Zero-ra vonatkoznak, de minden ARMv6-kompatibilis chiphez (1A 1B) működniük kell. Valójában ennek még az ARMv7 chipeken (2B 3B) is működnie kell, mivel elégedettek a régebbi bináris fájlokkal.

Remélem, hasznosnak találja őket.

Pepe
2016-12-19 01:13:21 UTC
view on stackexchange narkive permalink

Vagy töltse le a legújabb verziót:

  NODE = "$ (curl -sL https://nodejs.org/dist/latest | grep 'armv6l.tar.xz' | cut - d '"' -f2)" wget https://nodejs.org/dist/latest/$NODE  


Ezt a kérdést és választ automatikusan lefordították angol nyelvről.Az eredeti tartalom elérhető a stackexchange oldalon, amelyet köszönünk az cc by-sa 3.0 licencért, amely alatt terjesztik.
Loading...