Pi 3'e Daha Yeni Düğüm Sürümü Yükleme


12

Kurmak

Jessie ile bir PI3'üm var. Göre Wikipedia bir kullandığı ARM Cortex-A53 olduğunu ARMv8-A.

Bu adafruit öğreticisini kullanarak node.js'yi yüklerken v0.12, hala beta aşaması olan düğümle sonuçlanıyorum.

Soru:

En azından kullanmak istiyorum v4arasında node.js. Bunu nasıl kurabilirim ve çalıştırabilirim?

Başarısız Yaklaşımlar

İlk

Bu eğiticide bunun nasıl yapılacağı açıklanmaktadır.

wget https://nodejs.org/dist/v5.0.0/node-v5.0.0-linux-arm64.tar.gz
tar -xvf node-v5.0.0-linux-arm64.tar.gz
cd node-v5.0.0-linux-arm64
sudo cp -R * /usr/local/ #attention copies also readme and other not required files

V.4.0.0'dan itibaren Test takımımız sürekli olarak ARMv6, ARMv7 ve yeni 64-bit ARMv8 işlemcilerini geçiyor olmalıdır.

V.5.0.0: ARMv8 64 bit İkili:

=> İkili yürütemiyor. -bash: /usr/local/bin/node: cannot execute binary file: Exec format error

İkinci

https://github.com/nodesource/distributions#installation-instructions

Sırasında durur sudo apt-get install -y nodejs

Ama sanırım henüz Github sorununu desteklemiyorlararm64

Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages were automatically installed and are no longer required:
  gyp libc-ares-dev libc-ares2 libjs-node-uuid libjs-underscore libssl-dev
  libssl-doc libv8-3.14-dev libv8-3.14.5 node-abbrev node-ansi
  node-ansi-color-table node-archy node-async node-block-stream
  node-combined-stream node-cookie-jar node-delayed-stream node-forever-agent
  node-form-data node-fstream node-fstream-ignore node-github-url-from-git
  node-glob node-graceful-fs node-gyp node-inherits node-ini
  node-json-stringify-safe node-lockfile node-lru-cache node-mime
  node-minimatch node-mkdirp node-mute-stream node-node-uuid node-nopt
  node-normalize-package-data node-npmlog node-once node-osenv node-qs
  node-read node-read-package-json node-request node-retry node-rimraf
  node-semver node-sha node-sigmund node-slide node-tar node-tunnel-agent
  node-underscore node-which
Use 'apt-get autoremove' to remove them.
The following NEW packages will be installed:
  nodejs
0 upgraded, 1 newly installed, 0 to remove and 2 not upgraded.
1 not fully installed or removed.
Need to get 0 B/8,028 kB of archives.
After this operation, 38.3 MB of additional disk space will be used.
Selecting previously unselected package nodejs.
(Reading database ... 125270 files and directories currently installed.)
Preparing to unpack .../nodejs_5.10.0-1nodesource1~jessie1_armhf.deb ...
Detected old npm client, removing...
Unpacking nodejs (5.10.0-1nodesource1~jessie1) ...

Message from syslogd@raspberrypi at Apr  6 09:47:46 ...
 kernel:[  294.455070] Internal error: Oops - BUG: 0 [#1] PREEMPT SMP ARM

Message from syslogd@raspberrypi at Apr  6 09:47:46 ...
 kernel:[  295.546888] Process mmcqd/0 (pid: 52, stack limit = 0xb8cde210)

Message from syslogd@raspberrypi at Apr  6 09:47:46 ...
 kernel:[  295.618619] Stack: (0xb8cdfd88 to 0xb8ce0000)

Message from syslogd@raspberrypi at Apr  6 09:47:46 ...
 kernel:[  295.671359] fd80:                   00000007 b9687680 b8cdfdc4 b8cdfda0 8043c924 8043cb34

Message from syslogd@raspberrypi at Apr  6 09:47:46 ...
 kernel:[  295.770515] fda0: b8cdfdc4 b8cdfdb0 8055fb5c b8cf0150 b9687400 b9687680 b8cdfdfc b8cdfdc8

Message from syslogd@raspberrypi at Apr  6 09:47:46 ...
 kernel:[  295.869667] fdc0: 8043d588 8043c738 b9687624 80441c80 b8cdfdfc b8cdfde0 80441c80 b8cf0150

Message from syslogd@raspberrypi at Apr  6 09:47:46 ...
 kernel:[  295.968821] fde0: b9687400 b8cf0258 b8cf0150 b8cdfea4 b8cdfe14 b8cdfe00 80424c54 8043d428

Message from syslogd@raspberrypi at Apr  6 09:47:46 ...
 kernel:[  296.067976] fe00: b9687400 00000000 b8cdfe64 b8cdfe18 80425980 80424b5c 00000001 b8cf0034

Message from syslogd@raspberrypi at Apr  6 09:47:46 ...
 kernel:[  296.167140] fe20: adec51d0 00000000 b8cb8600 8005f4f8 b8cdfe30 b8cdfe30 b8cdfe5c adec51d0

Message from syslogd@raspberrypi at Apr  6 09:47:46 ...
 kernel:[  296.266294] fe40: b8cf0008 b8cf014c b9687c00 b8cf0150 00000000 adec51d0 b8cdfed4 b8cdfe68

Message from syslogd@raspberrypi at Apr  6 09:47:46 ...
 kernel:[  296.365448] fe60: 80434494 804256e0 adec51d0 adec5220 b8cdfe94 b8cdfe80 802c88a0 802f97d4

Message from syslogd@raspberrypi at Apr  6 09:47:46 ...
 kernel:[  296.464600] fe80: b971e580 b971e584 b8cdfeb4 00000000 b8cf0000 00000000 00000000 80443bec

Message from syslogd@raspberrypi at Apr  6 09:47:46 ...
 kernel:[  296.563754] fea0: ffffffff 00ffffff b8cdfed4 b8cf0008 b9687c00 adec51d0 b8cf0000 b8cf0000

Message from syslogd@raspberrypi at Apr  6 09:47:46 ...
 kernel:[  296.662907] fec0: 00000001 24590411 b8cdff24 b8cdfed8 80434fd8 804343dc 00000000 adec51d0

Message from syslogd@raspberrypi at Apr  6 09:47:46 ...
 kernel:[  296.762059] fee0: b8cf8000 b8cde000 b8cdff0c b8cdfef8 802cf320 b9687400 b8cf0008 b8cf0008

Message from syslogd@raspberrypi at Apr  6 09:47:46 ...
 kernel:[  296.861214] ff00: b8cf8000 b8cde000 00000000 24590411 00000001 adec51d0 b8cdff5c b8cdff28

Message from syslogd@raspberrypi at Apr  6 09:47:46 ...
 kernel:[  296.960367] ff20: 804367c8 80434ee0 80436708 b8cf0010 00000000 b97151c0 00000000 b8cf0008

Message from syslogd@raspberrypi at Apr  6 09:47:46 ...
 kernel:[  297.059522] ff40: 80436708 00000000 00000000 00000000 b8cdffac b8cdff60 80042494 80436714

Message from syslogd@raspberrypi at Apr  6 09:47:46 ...
 kernel:[  297.158687] ff60: 8055fba4 00000000 b8cdff94 b8cf0008 00000000 00000000 b8cdff78 b8cdff78

Message from syslogd@raspberrypi at Apr  6 09:47:46 ...
 kernel:[  297.257840] ff80: 00000000 00000000 b8cdff88 b8cdff88 b97151c0 800423ac 00000000 00000000

Message from syslogd@raspberrypi at Apr  6 09:47:46 ...
 kernel:[  297.356994] ffa0: 00000000 b8cdffb0 8000f9f8 800423b8 00000000 00000000 00000000 00000000

Message from syslogd@raspberrypi at Apr  6 09:47:46 ...
 kernel:[  297.456177] ffc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

Message from syslogd@raspberrypi at Apr  6 09:47:46 ...
 kernel:[  297.555354] ffe0: 00000000 00000000 00000000 00000000 00000013 00000000 55550000 55554000

Message from syslogd@raspberrypi at Apr  6 09:47:46 ...
 kernel:[  298.607208] Code: e89da818 e28400fc ebf11884 eafffff6 (e7f001f2)

İlgili konular

GPIO ile node.js nasıl kurulabilir


Bugün itibariyle, RPi3 son Raspbian ( Stretch) hala edilir değil için doğal destek ile birlikte armv8.
not2qubit

Yanıtlar:


11

Bugün soruda ikinci yöntemi kullanarak node.js yükledim, iyi çalıştı. Ahududu 3 üzerinde Raspbian Jessie var.

curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
sudo apt-get install -y nodejs 
sudo apt-get install -y build-essential

Bu yöntemin neden işe yaramadığını bilmiyorum. Belki de güncellendi ve şimdi daha iyi çalışıyor?


Ne olduğunu bilmiyorum ama yeniden yüklediğimde şimdi iyi çalışıyorv6.x
Andi Giga

4

Nasıl kurulur

wget https://nodejs.org/dist/v5.0.0/node-v5.0.0-linux-armv7l.tar.gz
tar -xvf node-v5.0.0-linux-armv7l.tar.gz
cd node-v5.0.0-linux-armv7l
sudo cp -R * /usr/local/ #attention copies also readme and other not required files

Neden ArmV7:

Benim pi ve paket üzerinde yazılmış Raspberry Pi 3 Model Bve wikipedia göre : The ARM Cortex-A53 is a microarchitecture implementing the ARMv8-A 64-bithangi indirmek için beni yönlendirdi ARMv8 64-bit Binary.

Ama pi ile gösterir uname -a Linux raspberrypi 4.1.14-v7+ #4 SMP PREEMPT Wed Mar 23 15:30:13 UTC 2016 armv7l GNU/Linux. Görünüşe göre armv7pi bir a var .

EDIT: Doğru gibi görünüyor https://www.raspberrypi.org/forums/viewtopic.php?f=63&t=140572

32 bit modu, işletim sisteminin eksik desteği nedeniyle, anlayışımdan dolayı kullanılıyor. Birisi bunu daha açık bir şekilde açıklayabilirse, lütfen bir yorum bırakın.


Debian'ın arm64burada bir Sürümü var ( debian.org/CD/netinst ), ancak henüz bir önyükleme yapamadım.
ott--

3

NVM kullanma

Alternatif bir çözüm, Düğüm için yükleyici olarak nvm kullanmaktır . nvmDüğüm Sürümü Yöneticisi anlamına gelir ve bunun gibi birçok faydası vardır:

  • platformunuz için doğru sürümü seçme,
  • Düğümü basit bir komutla kolayca güncelleyin,
  • farklı nodesürümler aynı anda yüklenir (örneğin, farklı kurulumlara dağıtımı test etmek için programınızı farklı düğüm sürümleriyle kontrol etmek için)

Ben (kullandığım halde başında şüpheci iken nvmdiğer sistemlerde başarıyla), en iyi çözüm arayan sonra olması nodeve npm(dahil tüm kullanıcılar için yüklü ve erişilebilir köküne tüm düğüm içine ve dalış erişim Raspi donanımına gereklidir) dağıtımları, paketleri ve kaynakları, bu yöntemi denemeye karar verdim. Ve işe yaradı!


İşte adımlarım:

  1. her şeyden önce, nvm'yi yüklemeniz gerekir . Bu komut dosyasını ana klasörünüzden veya başka bir yerden çalıştırabilirsiniz, ancak nvmgeçerli kullanıcı için yüklenir ( bu durumda artık gerekli olmayan başka bir tane oluşturmuş olmama rağmen pi ). Sürümü (v0.32.0) en son sürümle değiştirmek isteyebilirsiniz.

    kıvırmak -o- https://raw.githubusercontent.com/creationix/nvm/v0.32.0/install.sh | darbe

    NVM'ye erişim elde etmek için terminali yeniden açmanız gerekiyor

  2. sonra Düğümü şu basit komutla yüklersiniz:

    nvm yükleme v6.6.0

    Mevcut sürümleri düzenleyerek kontrol edip nvm ls-remotesize uygun olanı seçebilirsiniz.

  3. bu sürümü nodesisteminiz için varsayılan olarak ayarlarsınız :

    nvm diğer adı varsayılan v6.6.0

  4. ve ile yüklenen sürümünü kontrol node -vvenpm -v


Şimdi geçerli kullanıcı için Node v6.6.0 kurulu. Henüz sisteminizde kök veya diğer kullanıcılar tarafından kullanılamaz, ancak aşağıdakilerden birini yapabilirsiniz:

  • sistem çapında kullanılabilir hale getirmek için sembolik bağlantılar (takma adlar) oluşturun:

    sudo ln -s /home/pi/.nvm/versions/node/v6.6.0/bin/node / usr / bin / düğüm

    sudo ln -s /home/pi/.nvm/versions/node/v6.6.0/bin/npm / usr / bin / npm

  • Veya , sisteminizde varsayılan olarak zaten düğüm yüklenmişse ve yukarıdaki yöntemde (benim durumumda olduğu gibi) bir hata alırsanız, bu garip satırı çalıştırın:

    n = $ (hangi düğüm); n = $ {n% / bin / düğüm}; chmod -R 755 $ n / bin / *; sudo cp -r $ n / {bin, lib, paylaşım} / usr / local

ve yeni yüklediğiniz nodeartık npm paketlerini global olarak yüklemenize olanak tanıyan herkes vb.

Düğüm sürümünü değiştirmek istediğinizde yukarıdaki komutu çalıştırmanız gerekeceğini unutmayın (bu korkutucu görünebilir, ancak tek yaptığı nodedosyaları kopyalamaktır, /usr/localyoğun bir biçimde yazılmıştır).

Umarım bu birine yardımcı olur ve biraz zaman kazandırır!


Referanslar:

NASIL.JS'İN RASPBERRY PI'DA NASIL KURULMASI - Brandon Cannaday,

Yukarıdaki yazının 1. yorumu (RYAN PARSLEY tarafından),

bu StackOverflow yanıtı ,

/usr/localkopya fikri ile gelen DigitalOcean öğreticisi ,

ve bir fikir okyanusundan en iyi çözümü seçmeye çalışarak saatler geçirmeme izin veren İnternet ve Google :)


0

Bu gönderiye göre ve kendi tecrübelerime göre, önceden yüklenmiş tüm Raspbian node.js sürümleri eski. Bu nedenle en iyi seçeneğiniz, önce tüm önceki düğüm kurulumlarını kaldırmak ve yeniden kurmaktır. Bu Raspbian Stretch için de harika çalıştı .

Bunu yap:

# Remove outdated Debian package (`node -v` ==> v4.8.2)
sudo apt-get remove nodejs nodejs-legacy nodered
curl -sL https://deb.nodesource.com/setup_9.x | sudo -E bash -
sudo apt-get install -y nodejs

# Now the versions are:  nodejs: v9.3.0  npm: v5.5.1 --> npm need update
sudo npm install npm@latest -g

# Then install these useful tools: 
sudo npm install -g node-gyp
sudo npm install -g npm-check
sudo npm install -g npm-check-updates

# If needed, you can re-install node-red with:
sudo npm install -g --unsafe-perm node-red

UYARI

Bazı salak sudo apt-get remove node*, OS'yi yok eden bir an ilan etti. Joker karakterleri kullanacakapt-get remove/purge şekilde tasarlanmadığından joker karakterleri kullanmayın. (İş yaparken saf şans!)

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.