Bagaimana cara menginstal NodeJS 4 menggunakan apt?

Jawaban:

75

Instruksi diambil dari sini: https://github.com/nodesource/distributions

wget -qO- https://deb.nodesource.com/setup_4.x | sudo bash -

lalu:

sudo apt-get install nodejs

Ini adalah versi sistemnya:

ubuntu@424c7702-0947-e7c7-c532-dfec484fc109:~$ lsb_release -r
Release:    15.04
ubuntu@424c7702-0947-e7c7-c532-dfec484fc109:~$ node -v
v4.0.0
ubuntu@424c7702-0947-e7c7-c532-dfec484fc109:~$ npm -v
2.14.2
jarsever
sumber
@jarserver - "Paket-paket berikut memiliki dependensi yang belum terpenuhi: nodejs: Tergantung: rlwrap tetapi tidak dapat diinstal E: Tidak dapat memperbaiki masalah, Anda telah memegang paket yang rusak." - Kesalahan saat memasang apt-get install. Bagaimana cara memperbaikinya?
Kumar Sambhav
@KumarSambhav terdengar seperti basis data paket Anda dalam keadaan rusak, cari situs untuk cara memperbaiki keadaan yang rusak.
battlemidget
Ini tidak berfungsi untuk saya di ubuntu 15.10 Ini selalu menginstal v0.10.25 (versi lebih rendah dari OP, jadi saya tidak tahu apa yang terjadi ...)
HankScorpio
@HankScorpio Sepertinya apt-repo tidak diperbarui. Coba ikuti instruksi instalasi manual ( github.com/nodesource/distributions#manual-installation ) dan lihat apakah itu memperbaikinya.
jarsever
Ya, itulah masalahnya. Beberapa kunci GPG (apa pun itu) hilang, jadi selalu apt-get updategagal setiap saat. Saya dulu y-ppa-managermemperbaiki masalahnya dan sekarang saya memiliki versi terbaru NodeJS 4.
HankScorpio
37

Node Version Manager selalu memiliki yang terbaru

Saya sangat berpendapat bahwa menginstal Node dengan Node Version Manager adalah opsi terbaik di Ubuntu, jika Anda menginstalnya di komputer tempat Anda bermaksud melakukan pengembangan (bukan server produksi).

Ketika Anda menginstal melalui repositori resmi, Anda berakhir dengan sesuatu yang sangat usang. Anda selalu dapat menambahkan PPA, tetapi Anda masih akan berakhir dengan izin berantakan di mana secara global menginstal modul dari npm membutuhkan hak admin.

Dengan NVM, semuanya disimpan di folder rumah Anda (jadi tidak perlu sudo), dan Anda dapat menginstal beberapa versi Node (termasuk 4.0) dan beralih di antara mereka dengan mudah.

Instalasi dengan NVM

Diambil dari instruksi instalasi NVM :

Raih salinan NVM terbaru (Anda mungkin harus sudo apt-get install curlterlebih dahulu):

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.26.1/install.sh | bash

Beri tahu shell Anda untuk digunakan nvm(Anda mungkin ingin menambahkan ini ~/.bashrcagar terjadi secara otomatis di masa mendatang):

source ~/.nvm/nvm.sh

Kemudian instal versi simpul terbaru:

nvm install 4.0

Dan beri tahu nvm versi Node yang ingin Anda gunakan:

nvm use 4.0

Anda mungkin juga ingin menambahkan nvm use 4.0baris ke baris Anda ~/.bashrc, sehingga Anda tidak harus memilih versi simpul setiap kali memulai terminal.

Sekarang jika Anda memeriksa which nodeitu harus memberi Anda jalan ke simpul yang dapat dieksekusi di dalam folder rumah Anda. Berlari node --versionseharusnya memberi tahu Anda bahwa Anda berlari v4.0.0.

Michael Martin-Smucker
sumber
6
Saya tidak berpikir komentar izin yang berantakan itu akurat, saya menginstal node dari nodesource apt repo dan dapat menjalankan dan menginstal modul node di direktori home lokal saya (termasuk opsi global -g). Yang diperlukan hanyalah memperbarui ~ / .npmrc untuk mendefinisikan direktori awalan Anda.
battlemidget
3
Ah, itu poin yang sangat adil. Saya masih penggemar nvm untuk aspek manajemen versi, tetapi jika itu bukan hal Anda, menetapkan awalan ~/.npmrctampaknya pasti cara yang tepat untuk menangani izin untuk modul global.
Michael Martin-Smucker
Saya percaya catatan "ketinggalan jaman" tentang repositori resmi, dalam jawabannya sedikit ... usang ;-) Repositori resmi sekarang mendukung setiap versi yang dirilis secara publik di kereta rilis yang didukung - ada repo untuk versi 6, 7 dan bahkan 8, dan sudah seperti itu sejak setidaknya jawaban saya di bawah (10/15)
Guss
36

Dengan kudus ke @jarsever, saya pribadi tidak berlangganan paradigma " curl | sh ".

Jika Anda merasakan kegelisahan yang sama seperti yang saya alami ketika diminta untuk hanya mengirim teks sewenang-wenang dari internet dan ke proses shell akun root, maka Anda mungkin ingin mencoba ini untuk efek yang sama tetapi dengan (sedikit) lebih sedikit rasa takut, ketidakpastian dan keraguan:

version=4
apt-key adv --keyserver keyserver.ubuntu.com --recv 68576280
apt-add-repository 'deb https://deb.nodesource.com/node_${version}.x precise main'
apt-get update
apt-get install nodejs

Saya percaya prosesnya harus jelas, dan Anda juga dapat melakukan hal yang sama melalui UI Properti Perangkat Lunak Ubuntu.

Guss
sumber
Apakah ada kerugian untuk melakukannya dengan cara ini? Sepertinya pilihan terbaik ...
Catskul
6
Ini lebih dari satu baris, dan memungkinkan Anda belajar tentang sistem Anda? ... Beberapa orang tidak suka itu, saya pikir, itulah satu-satunya cara saya dapat menjelaskan curl|shfenomena tersebut.
Guss
3
Selain mempelajari tentang manajer paket OS Anda, ini juga merupakan masalah keamanan. curl|shmenarik skrip dari server, dan menjalankannya langsung di shell. Saya pribadi memercayai nodesource, tapi itu bukan kebiasaan yang bagus untuk masuk. unix.stackexchange.com/questions/46286/…
blanket_cat
Dan di sana meminta Anda untuk memasukkannya ke pipa sudo -E bash. Ini berjalan sebagai root. Saya sangat menyarankan Anda membaca, dan memahami skrip, jika Anda akan menyalurkannya dari internet ke shell root.
blanket_cat
1
Secara umum, dengan menginstal paket deb, Anda mengambil jumlah risiko yang sama dengan menyalurkan internet ke shell root. Yang sedang berkata, satu menyiratkan Anda memahami sistem Anda, yang lain menyiratkan bahwa Anda tidak - dan itu adalah perbedaan besar.
Guss
0

Saya suka menggunakan nodeenv dari pypi ( https://pypi.python.org/pypi/nodeenv ), Anda menginstal paket menggunakan pip, lalu mengatur "node / virtualenv" dan menyuruhnya menginstal versi prebuilt, cepat dan sederhana . Paul

Paul
sumber
-1

Ini berhasil untuk saya

echo 'export PATH=$HOME/local/bin:$PATH' >> ~/.bashrc
. ~/.bashrc
mkdir ~/local
mkdir ~/node-latest-install
cd ~/node-latest-install
curl http://nodejs.org/dist/node-latest.tar.gz | tar xz --strip-components=1
./configure --prefix=~/local
make install 
curl https://www.npmjs.org/install.sh | sh

Sumber: https://gist.github.com/isaacs/579814

Johnjullies
sumber
1
Pertanyaannya secara khusus tentang cara menginstal NodeJS dengan Apt .
David Foerster