Amazon Linux üzerinde yum nasıl Düğüm.JS yüklemek için


251

Bağımlılıkları yüklemek için yum kullanarak yazma ve sonra kaynaktan Node.JS & NPM yükleme gördüm. Bu işe yararken, Node.JS ve NPM'nin her ikisinin de bir yerde halka açık bir repoda olması gerektiğini hissediyorum.

Node.JS ve NPM'yi AWS Amazon Linux'ta tek bir komutta nasıl kurabilirim?


Yanıtlar:


396

Bunun üzerine tökezledi, daha sonra tekrar bulmak garip bir şekilde zordu. Burada gelecek nesiller için:

sudo yum install nodejs npm --enablerepo=epel

EDIT 3: Temmuz 2016 itibarıyla EDIT 1 artık nodejs 4 (ve ikisi de EDIT 2 ) için çalışmıyor . Bu cevap ( https://stackoverflow.com/a/35165401/78935 ) gerçek bir tek astar verir.

DÜZENLEME 1: Düğüm 4'ü arıyorsanız, lütfen EPEL test deposunu deneyin:

sudo yum install nodejs --enablerepo=epel-testing

DÜZENLEME 2: Yukarıdaki komutu kullanarak EPEL repo aracılığıyla yüklenmiş düğüm 0.12'den EPEL test deposundan nodejs 4'e yükseltme yapmak için lütfen aşağıdaki adımları izleyin:

sudo yum rm nodejs
sudo rm -f /usr/local/bin/node
sudo yum install nodejs --enablerepo=epel-testing

Daha yeni paketler, düğüm ikili dosyalarını /usr/binyerine koyar /usr/local/bin.

Ve biraz arka plan:

Bu seçenek , EPEL deposundaki paketleri aramaya --enablerepo=epelneden olur yum.

EPEL (Enterprise Linux için Ekstra Paketler), Fedora ekibinden RHEL (Red Hat Enterprise Linux), CentOS ve Scientific Linux dahil olmak üzere Linux dağıtımı için% 100 yüksek kaliteli eklenti yazılım paketleri sağlayan açık kaynaklı ve ücretsiz topluluk tabanlı bir depo projesidir. Epel projesi, RHEL / Cent OS'nin bir parçası değildir, ancak ağ, sys admin, programlama, izleme ve benzeri gibi birçok açık kaynaklı paket sağlayarak büyük Linux dağıtımları için tasarlanmıştır. Epel paketlerinin çoğu Fedora repo tarafından korunmaktadır.

Via http://www.tecmint.com/how-to-enable-epel-repository-for-rhel-centos-6-5/


8
Bu kesinlikle gördüğüm en hızlı yaklaşım, ancak bir uyarı yararlı olabilir - EPEL deposu mevcut kararlı düğümle senkronize değil ve bunu yüklerken düzeltmek için "n" kullanamazsınız. (en azından benim arkamda olmayan bir tür sihir olmadan). Sıkıcı git klonu / make install yaklaşımı, tutarlı ve güncel bir kurulum sağlamak için bulduğum tek yoldur.
Noktalı virgül

22
Bundan 0.10.36 ve npm 1.3.6 düğümü aldım. Bunlar çok güncel değil.
voltrevo

4
@ Semicolon, sadece npm yükleyerek sudo npm install -g nve / sudo n v0.12veya istediğiniz diğer sürümü yükleyerek bunu çözebilirsiniz .
unboundev

4
n beklendiği gibi güncelleştirilir, ancak düğüm bağlantısını düzgün güncelleştirmez. Ekstra komutu çalıştırmanız gerekecek:sudo ln -sf /usr/local/n/versions/node/<VERSION>/bin/node /usr/bin/node
Masadow

4
bu yanıt sudo yum install nodejs --enablerepo=epel-testingşu hatayı döndürmedi: "Paket düğüm yok." sudo yum install nodejs --enablerepo=epelsadece çok eski sürümleri verirken ...
16:53

224

Diğerleri gibi, kabul edilen cevap da bana eski bir versiyon verdi.

İşte çok iyi çalışan başka bir yol:

$ curl --silent --location https://rpm.nodesource.com/setup_12.x | bash -
$ yum -y install nodejs

12.x'i 10.x, 8.x vb.Gibi başka bir sürümle de değiştirebilirsiniz.

Kullanılabilir tüm sürümleri NodeSource Github sayfasında görebilirsiniz oradan da alabilirsiniz.

Not: sudoortamınıza bağlı olarak çalıştırmanız gerekebilir .


4
Önceden yüklü olandan daha yeni bir sürüm almak için AWS Elastik Beanstalk'ta kullanmam gereken şey buydu.
Jon Burgess

1
Koşmak npm installiçin ihtiyaç duyarken sadece mükemmel çalışıyor package.json,
Chetabahana

32
Bunu çalıştırmak için gereklicurl --silent --location https://rpm.nodesource.com/setup_4.x | sudo bash -
user465342

16
İzin reddedilirse, biraz sudo eklemeniz gerekir. curl --silent --location https://rpm.nodesource.com/setup_6.x | sudo bash -andsudo yum -y install nodejs
sampoh

1
Node.js 8.x'i yüklemek istiyorsanız, yürütmekcurl --silent --location https://rpm.nodesource.com/setup_8.x | bash -
Argun

64

Kabul edilen cevap bana çok güncel olmayan 0.10.36 ve npm 1.3.6 düğümlerini verdi. Nodejs indirme sayfasından en son linux-x64 tarball'ı aldım ve yüklemek çok zor değildi: https://nodejs.org/dist/latest/ .

# start in a directory where you like to install things for the current user
(For noobs : it downloads node package as node.tgz file in your directlry)
curl (paste the link to the one you want from the downloads page) >node.tgz

Şimdi indirdiğiniz katranı yukarı kaldırın -

tar xzf node.tgz

Bu komutu çalıştırın ve ardından şu adrese ekleyin .bashrc:

export PATH="$PATH:(your install dir)/(node dir)/bin"

(örnek: ihracat PATH = "$ PATH: /home/ec2-user/mydirectory/node/node4.5.0-linux-x64/bin")

Ve güncelleme npm(sadece bir kez, eklemeyin .bashrc):

npm install -g npm

O Not -gküresel anlamı var ki, gerçekten küresel demektir o npm örneğine sadece yüklü örneğidir ve geçerli kullanıcıya sınırlıdır. Bu, npm 'global olarak' yüklenen tüm paketler için geçerli olacaktır.


4
Tam olarak istediğiniz sürümü aldığınız için bu aslında en iyi cevaptır
Mariusz

1
İlk önce bu cevabı okuyabilseydim - bu kabul edilen cevap olmalı çünkü hangi sürümü kurmak istediğinizi seçebilirsiniz. - thank you @voltrevo
Mike K

2
@voltrevo cevap için teşekkür ederim. Evet, Linux'a düğüm kurmanın başka yolları da var. Kabul edilen cevap, otomatik ve yönetilen güncellemeler için YUM paket sistemine takılan tek astarlıdır. YUM depolarındaki paketler biraz daha eski olma eğilimindedir ve daha geniş dağıtımlarla biraz daha iyi test edilir. Şahsen, en son ve en büyüğü yerel kalkınma ortamlarına bırakmanızı ve üretim ortamları için kabul edilen cevap gibi bir şey kullanmanızı öneririm. Şerefe!
Tim Fulmer

eski centos sürümleri için bu gitmek için en iyi yoldur
user1336321

-V düğümü şimdi çalıştırıldıktan sonraki hata: 'ikili dosya yürütülemiyor'. Herhangi bir fikir?
JosFabre

28

Benim için çalışan prosedür ( birkaç güncellemeyle bu oldukça eski talimatları takip ederek):

  • check git'in kurulu olup olmadığını kontrol edin git --versionveya kurun:
    sudo yum install git
  • gcc ve openssl'yi yükleyin:
    sudo yum install gcc-c++ make
    sudo yum install openssl-devel
  • git repo'yu adlı bir dizine kopyalayın node(daha sonra kaldırabilirsiniz):
    git clone https://github.com/nodejs/node.git
  • https://github.com/nodejs/node/releases adresinden istediğiniz düğüm sürümüne karar verin
  • yeni oluşturulmuş düğüm dizinine gidin ve düğümü yükleyin
    cd node
    git checkout v6.1.0- istediğiniz sürümüv
    ./configure
    make
    sudo make install
  • düğümün kurulu olduğunu node --versionveya basitçe veya basitçe çalıştığını test edin node(çıkış düğümü üzerinden process.exit()veya ^Cx 2 veya ^C+exit )
  • npm sürümünü kontrol edin: npm --versionve gerekirse güncelleyinsudo npm install -g npm
  • İsteğe bağlı: nodeile dizini kaldırınrm -r node

Notlar:

  1. Şu sudo yum install nodejs --enablerepo=epel-testinghatayı döndürdüğü için kabul edilen cevap işe yaramadı : No package nodejs available.
    ... ve sudo yum install nodejs --enablerepo=epel(yani-testing ) sadece çok eski sürümleri verdi.
  2. Zaten yüklü bir düğüm sürümünüz varsa onu kaldırabilirsiniz:
    sudo npm uninstall npm -g ... npm kendisini kaldırabileceğinden
    sudo yum erase nodejs
    sudo rm -f /usr/local/bin/node
    ( sudo yum rm nodejskabul edilen cevapta rmgeçerli bir yum komutu olmadığı için çalışmazyum --help )
  3. Düğüm deposunu git clone git://github.com/nodejs/node.gityerine klonlamak mümkündür, git clone https://github.com/nodejs/node.gitancak çeşitli hatalar alabilirsiniz ( buraya bakın ).
  4. /nodeÖnceki kurulumdan zaten bir dir'niz varsa , git clone komutunu kullanmadan önce onu kaldırın (veya bir çakışma olacaktır):
    rm -r node
  5. Herhangi bir sudo npm...komutla ilgili sorun yaşıyorsanız sudo: npm: command not foundve / veya düğüm paketlerini sudo olmadan yüklerken izin sorunlarınız varsa , satırı okumak için düzenleyin sudo nano /etc/sudoersve :/usr/local/binsonuna ekleyinDefaults secure_path = /sbin:/bin:/usr/sbin:/usr/binDefaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin

3
@ Bu sizi memnun etmiyorsa seçilecek diğer cevaplar bol bol ;-) ... 'tek komutta' IMHO sorununun en önemli parçası değildi.
16:36 de goredwards

Kabul cevabı ile ilgili bir hata yaptıktan sonra bu çok faydalı. Teşekkür ederim
Daron Tancharoen

@talente etc/sudoers: hangi makinelerde hangi komutları hangi komutlar olarak çalıştırabileceklerini, ancak yalnızca secure_pathDüğümünde listelenen dizinlerde bulunan komutları çalıştıracak / bulup arayacak dosya denetimlerini kurdu /usr/local/binve eğer varsa sudo onu bulmalı - stackoverflow .com / a / 31734090/3092596 Eğer sudo bulamazsa, sudo'ya bu yolun eklenmesi gerekir secure_path- ayrıca bkz: superuser.com/a/927599/404543
goredwards

Bu yöntemi kullanarak yükledikten sonra sembolik bağlantılarınızı düzeltmeniz gerekebileceğini eklemek isterim: sudo ln -s /usr/local/bin/node /usr/bin/node sudo ln -s /usr/local/lib/node /usr/lib/node sudo ln -s /usr/local/bin/npm /usr/bin/npm sudo ln -s /usr/local/bin/node-waf /usr/bin/node-waf
BuffMcBigHuge

23

NVM ile kolay kurulum ...

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | bash
. ~/.nvm/nvm.sh
nvm install node

Düğümün belirli bir sürümünü (12.16.3 gibi) yüklemek için son satırı şu şekilde değiştirin:

nvm install 12.16.3

NVM'yi kullanma hakkında daha fazla bilgi için belgeleri ziyaret edin: https://github.com/nvm-sh/nvm


1
Bu tamamen işe yarıyor. @Goredwards yanıtından daha az zaman alır. Amazon ECS için optimize edilmiş bir AMI üzerinde çalıştı.
Jayant Bhawal

3
Kabul edilen cevap ve tüm 1-3 EDIT'leri benim için işe yaramadı, ancak bu işe yaradı. Teşekkürler!
seantomburke

1
temiz ve kompakt.
Stephen Tetreault

1
basit ve harika
Abhinav

2
Cevap bu olmalı. Birisi kaynaktan inşa etmek istemediği sürece en iyisi en iyisidir.
Kirkland

19

V4 LTS sürümü için şunları kullanın:

curl --silent --location https://rpm.nodesource.com/setup_4.x | bash -
yum -y install nodejs

Node.js v6 kullanımı için:

curl --silent --location https://rpm.nodesource.com/setup_6.x | bash -
yum -y install nodejs

Amazon Linux'a yerel eklentileri yüklemeye çalışırken de bazı sorunlarla karşılaştım. Bunu yapmak istiyorsanız, derleme araçları da yüklemelisiniz:

yum install gcc-c++ make

Bu harika bir cevap. Artık Düğüm'ü yüklemem 20 dakika sürmüyor.
David Webber

elastik beanstalk üzerinde bazı npm derlenmiş ön uca sahip bir php uygulaması çalıştırırsanız, bunu kullanabilirsiniz. bu benim install.config dosyamın bir
Marek Jalovec

14

Daha yeni geldim. Birkaç popüler yanıtı denedim, ama sonunda, Amazon'un hızlı kurulum kılavuzu benim için işe yaradı.

Öğretici: Amazon EC2 Bulut Sunucusunda Node.js'yi Kurma

Öğreticinin özü:

  1. Örneğin üzerine yazdığınızdan emin olun.
  2. Nvm al: curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.32.0/install.sh | bash
  3. Aktif . ~/.nvm/nvm.sh
  4. Düğümü nvm kullanarak kurun nvm install 4.4.5(NOT: Farklı bir sürüm seçebilirsiniz.$ nvm ls-remote )
  5. Son olarak, Düğüm Düğümü'nü çalıştırarak doğru yüklediğinizi sınayın. $ node -e "console.log('Running Node.js' + process.version)"

Umarım bu bir sonraki kişiye yardımcı olur.


Bu bağlantıdaki içeriği açıklamak isteyebilirsiniz. İyi bir cevap, cevabın ana konusunu değil, sadece referans olarak bir bağlantı kullanır.
BusyProgrammer

6

Kimse bundan bahsetmiyor gibi görünüyor. On Amazon Linux 2 , Epel yüklemek için resmi yoludur:

  • sudo amazon-linux-extras install epel

... o zaman şunları yapabilirsiniz:

  • sudo yum install nodejs

     

Ekstra Kütüphanesine bakın (Amazon Linux 2)


Peki bu en iyi cevap gibi görünüyor!
Stretch

@Stretch Pek değil. Düğüm 6'yı yükler. Çok eski.
GabrielBB

5

Node.js 6.x yükledim ve Node.js 8.x yüklemek istedim.

Kullandığım komutlar ( yum önbelleğe alınmış verileri işlemek için birkaç ek adımla Nodejs sitesinden alınmıştır ):

  1. sudo yum remove nodejs: Node.js 6.x dosyasını kaldırın (bunun gerekli olup olmadığını bilmiyorum)
  2. curl --silent --location https://rpm.nodesource.com/setup_8.x | sudo bash -
  3. sudo yum clean all
  4. sudo yum makecache: Meta veri önbelleğini yeniden oluştur (bu belgelerde değildi, ancak yum, bu son iki komutu verene kadar Node.jx 6.x dosyasını başarısız bir şekilde yüklemeye çalıştı.)
  5. sudo yum install nodejs: Node.js 8.x sürümünü yükleyin

3

sudo yum install nodejs npm --enablerepo=epeliçin çalışır Amazon Linux AMI. curl --silent --location https://rpm.nodesource.com/setup_6.x | bash - yum -y install nodejs RedHat için çalışıyor.


2

En kolay çözüm şudur (bunları kök olarak yapın)

sudo su root
cd /etc
mkdir node
yum install wget
wget https://nodejs.org/dist/v9.0.0/node-v9.0.0-linux-x64.tar.gz
tar -xvf node-v9.0.0-linux-x64.tar.gz
cd node-v9.0.0-linux-x64/bin
./node -v
ln -s /etc/node-v9.0.0-linux-x64/bin/node node

resim açıklamasını buraya girin


Teşekkürler, yardımcı oldu
arupjbasu



0

Resmi belgelerde belirtildiği gibi, 2 adımın altında basit -

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

0

Kabul edilen cevabın Ansible'da daha fazla arama yapmadan çalışmasını isteyenler için, kolaylık ve gelecekteki referans için görevi buraya gönderiyorum.

Kabul edilen cevap önerisi: https://stackoverflow.com/a/35165401/78935

Uygun görev eşdeğeri

tasks:
  - name: Setting up the NodeJS yum repository
    shell: curl --silent --location https://rpm.nodesource.com/setup_10.x | bash -
    args:
      warn: no
  # ...

0

Yüklü paketi, güncellemeyi yaparken bizi çok sayıda hatadan kurtarabilecek olan geçerli sürüme yeniden yükleyerek düğümü güncelleyebilir / yükleyebilirsiniz.

Bu nvm tarafından aşağıdaki komutla yapılır. Burada, düğüm sürümümü 8 olarak güncelledim ve mevcut tüm paketleri v8'e de yeniden yükledim!

nvm i v8 --reinstall-packages-from=default

AWS Linux örneğinde de çalışır.

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.