Saya telah melihat luncuran menggunakan yum untuk menginstal dependensi, dan kemudian menginstal Node.JS & NPM dari sumber. Meskipun ini berhasil, saya merasa seperti Node.JS dan NPM harus berada di repo publik di suatu tempat.
Bagaimana saya bisa menginstal Node.JS dan NPM dalam satu perintah di AWS Amazon Linux?
node.js
amazon-web-services
npm
yum
amazon-linux
Tim Fulmer
sumber
sumber
Jawaban:
Tersandung pada ini, anehnya sulit ditemukan lagi nanti. Menempatkan di sini untuk anak cucu:
EDIT 3: Pada Juli 2016, EDIT 1 tidak lagi berfungsi untuk nodejs 4 (dan EDIT 2 tidak). Jawaban ini ( https://stackoverflow.com/a/35165401/78935 ) memberikan one-liner sejati.
EDIT 1: Jika Anda mencari nodejs 4, silakan coba repo pengujian EPEL:
EDIT 2: Untuk memutakhirkan dari nodejs 0.12 diinstal melalui repo EPEL menggunakan perintah di atas, ke nodejs 4 dari repo pengujian EPEL, silakan ikuti langkah-langkah ini:
Paket-paket yang lebih baru memasukkan binary node
/usr/bin
, bukan/usr/local/bin
.Dan beberapa latar belakang:
Opsi
--enablerepo=epel
menyebabkanyum
untuk mencari paket-paket di repositori EPEL.sumber
sudo npm install -g n
dansudo n v0.12
atau versi apa pun yang Anda suka.sudo ln -sf /usr/local/n/versions/node/<VERSION>/bin/node /usr/bin/node
sudo yum install nodejs --enablerepo=epel-testing
mengembalikan kesalahan: "Tidak ada paket nodejs tersedia." sementarasudo yum install nodejs --enablerepo=epel
hanya memberikan versi yang sangat lama ...Seperti yang lain, jawaban yang diterima juga memberi saya versi yang sudah ketinggalan zaman.
Berikut cara lain untuk melakukannya yang bekerja dengan sangat baik:
Anda juga dapat mengganti 12.x dengan versi lain, seperti 10.x, 8.x, dll.
Anda dapat melihat semua versi yang tersedia di halaman NodeSource Github , dan tarik dari sana juga jika diinginkan.
Catatan: Anda mungkin perlu menjalankan menggunakan
sudo
tergantung pada lingkungan Anda.sumber
npm install
untukpackage.json
,curl --silent --location https://rpm.nodesource.com/setup_4.x | sudo bash -
curl --silent --location https://rpm.nodesource.com/setup_6.x | sudo bash -
dansudo yum -y install nodejs
curl --silent --location https://rpm.nodesource.com/setup_8.x | bash -
Jawaban yang diterima memberi saya simpul 0,10.36 dan npm 1.3.6 yang sangat ketinggalan zaman. Saya mengambil tarball linux-x64 terbaru dari halaman unduhan nodejs dan tidak terlalu sulit untuk menginstal: https://nodejs.org/dist/latest/ .
Sekarang angkat tar yang baru saja Anda unduh -
Jalankan perintah ini dan kemudian tambahkan juga ke
.bashrc
:(contoh: export PATH = "$ PATH: /home/ec2-user/mydirectory/node/node4.5.0-linux-x64/bin")
Dan perbarui
npm
(hanya sekali, jangan tambahkan ke.bashrc
):Perhatikan bahwa
-g
ada yang berarti global, benar-benar berarti global untuk instance npm yang merupakan instance yang baru saja kita instal dan terbatas pada pengguna saat ini. Ini akan berlaku untuk semua paket yang diinstal npm 'secara global'.sumber
Prosedur yang bekerja untuk saya (mengikuti ini petunjuk agak tua dengan beberapa update):
git --version
atau menginstalnya melalui:sudo yum install git
sudo yum install gcc-c++ make
sudo yum install openssl-devel
node
(yang dapat Anda hapus nanti):git clone https://github.com/nodejs/node.git
cd node
git checkout v6.1.0
- masukkan versi yang diinginkan setelahv
./configure
make
sudo make install
node --version
atau cukupnode
(keluar dari simpul melaluiprocess.exit()
atau^C
x 2 atau^C
+exit
)npm --version
dan perbarui jika perlu melaluisudo npm install -g npm
node
direktori denganrm -r node
Catatan:
sudo yum install nodejs --enablerepo=epel-testing
mengembalikan kesalahan:No package nodejs available.
... dan
sudo yum install nodejs --enablerepo=epel
(yaitu tanpa-testing
) hanya memberikan versi yang sangat lama.sudo npm uninstall npm -g
... karena npm dapat menghapus sendirisudo yum erase nodejs
sudo rm -f /usr/local/bin/node
(
sudo yum rm nodejs
dalam jawaban yang diterima tidak akan berfungsi karenarm
bukan perintah yum yang valid, lihatyum --help
)git clone git://github.com/nodejs/node.git
daripadagit clone https://github.com/nodejs/node.git
tetapi Anda mungkin mendapatkan berbagai kesalahan (lihat di sini )./node
direktori dari instalasi sebelumnya, hapus sebelum menggunakan perintah git clone (atau akan ada konflik):rm -r node
sudo npm...
perintah - sukasudo: npm: command not found
dan / atau memiliki masalah izin menginstal paket simpul tanpa sudo, editsudo nano /etc/sudoers
dan tambahkan:/usr/local/bin
ke akhir barisDefaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin
sehingga terbacaDefaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin
sumber
etc/sudoers
file mengontrol siapa yang dapat menjalankan perintah apa sebagai pengguna apa di mesin apa - tetapi hanya akan menjalankan / menemukan / mencari perintah yang ada di direktori yang tercantum padasecure_path
Node -nya harus diinstal/usr/local/bin
dan jika ada sudo harus menemukannya - lihat stackoverflow .com / a / 31734090/3092596 Jika sudo tidak menemukannya, maka jalan itu perlu ditambahkan ke sudosecure_path
- lihat juga: superuser.com/a/927599/404543sudo 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
Instal sederhana dengan NVM ...
Untuk menginstal versi tertentu (seperti 12.16.3) Node, ubah baris terakhir menjadi
Untuk informasi lebih lanjut tentang cara menggunakan NVM, kunjungi dokumen: https://github.com/nvm-sh/nvm
sumber
Untuk penggunaan versi v4 LTS:
Untuk penggunaan Node.js v6:
Saya juga mengalami beberapa masalah ketika mencoba menginstal addons asli di Amazon Linux. Jika Anda ingin melakukan ini, Anda juga harus menginstal alat membangun:
sumber
Saya baru saja menemukan ini. Saya mencoba beberapa jawaban yang lebih populer, tetapi pada akhirnya, yang berhasil bagi saya adalah panduan pengaturan cepat Amazon.
Tutorial: Mengatur Node.js di Amazon EC2 Instance
Inti dari tutorial ini adalah:
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.32.0/install.sh | bash
. ~/.nvm/nvm.sh
nvm install 4.4.5
(CATATAN: Anda dapat memilih versi yang berbeda. Periksa versi jarak jauh terlebih dahulu dengan menjalankan$ nvm ls-remote
)$ node -e "console.log('Running Node.js' + process.version)"
Semoga ini bisa membantu orang selanjutnya.
sumber
Sepertinya tidak ada yang menyebutkan ini. Di Amazon Linux 2 , cara resmi memuat EPEL adalah:
sudo amazon-linux-extras install epel
... maka Anda dapat:
sudo yum install nodejs
Lihat Perpustakaan Ekstra (Amazon Linux 2)
sumber
Saya telah menginstal Node.js 6.x dan ingin menginstal Node.js 8.x.
Inilah perintah yang saya gunakan (diambil dari situs Nodejs dengan beberapa langkah tambahan untuk menangani data cache yum):
sudo yum remove nodejs
: Copot Node.js 6.x (Saya tidak tahu apakah ini perlu atau tidak)curl --silent --location https://rpm.nodesource.com/setup_8.x | sudo bash -
sudo yum clean all
sudo yum makecache
: Regenerate cache metadata (ini tidak ada dalam dokumen, tetapi yum terus berusaha menginstal Node.jx 6.x, tidak berhasil, sampai saya mengeluarkan dua perintah terakhir ini)sudo yum install nodejs
: Instal Node.js 8.xsumber
sudo yum install nodejs npm --enablerepo=epel
bekerja untukAmazon Linux AMI
.curl --silent --location https://rpm.nodesource.com/setup_6.x | bash - yum -y install nodejs
bekerja untuk RedHat.sumber
Solusi termudah adalah ini (lakukan ini sebagai root)
sumber
https://nodejs.org/en/download/package-manager/#debian-and-ubuntu-based-linux-distributions
curl --silent --location https://rpm.nodesource.com/setup_10.x | sudo bash - sudo yum -y install nodejs
sumber
Dokumentasi resmi untuk EC2-Instance berfungsi untuk saya: https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/setting-up-node-on-ec2-instance.html
sumber
Seperti disebutkan dalam dokumentasi resmi, sederhana di bawah 2 langkah -
sumber
Bagi mereka yang ingin menjalankan jawaban yang diterima berjalan di Ansible tanpa pencarian lebih lanjut, saya memposting tugas di sini untuk kemudahan dan referensi di masa mendatang.
Rekomendasi jawaban yang diterima: https://stackoverflow.com/a/35165401/78935
Setara tugas yang dimungkinkan
sumber
Anda dapat memperbarui / menginstal node dengan menginstal ulang paket yang diinstal ke versi saat ini yang dapat menyelamatkan kita dari banyak kesalahan, saat melakukan pembaruan.
Ini dilakukan oleh nvm dengan perintah di bawah ini. Di sini, saya telah memperbarui versi simpul saya ke 8 dan menginstal ulang semua paket yang tersedia ke v8 juga!
Ini bekerja pada instance AWS Linux juga.
sumber