Bagaimana cara menginstal NodeJS terbaru di Debian Jessie?

29

Saya baru saja menginstal NodeJS & NPM di Debian Jessie menggunakan pendekatan yang disarankan:

apt-get install curl
curl -sL https://deb.nodesource.com/setup | bash -
apt-get install -y nodejs

Namun ini adalah versi yang cukup lama (simpul v0.10.38 & npm 1.4.28).

Adakah saran tentang cara termudah untuk menginstal versi yang lebih baru, misalnya, saat ini node adalah v0.12.4 dan npm adalah 2.7.4? Apakah menginstal dari sumber satu-satunya pendekatan saya?

MrColes
sumber

Jawaban:

48

Ada skrip pengaturan yang tersedia untuk Node.js (lihat instalasi pemasangan ):

# Adapt version number to the version you want
curl -sL https://deb.nodesource.com/setup_0.12 | sudo bash -
sudo apt-get install -y nodejs

Sebuah komentar kecil: Menurut pendapat saya, itu ide yang sangat buruk curl | sudo bash. Anda menjalankan skrip yang tidak Anda periksa dengan hak akses root. Itu selalu lebih baik untuk mengunduh skrip, membacanya, memeriksa perintah jahat, dan setelah itu , jalankan. Tapi itu hanya dua sen saya.

Instalasi dapat dicapai secara manual dalam beberapa langkah mengikuti prosedur instalasi manual :

  • Hapus PPA lama (jika ada)
  • Tambahkan simpul repo ssh key
  • Tambahkan simpul repo ke sources.list
  • perbarui daftar paket dan instal menggunakan alat apt favorit
embik
sumber
5
ops, gunakan, tapi sekarang ada setup_4.x... redo curl dan apt-get ok?
Peter Krauss
3
Karena Anda mungkin memerlukan versi terbaru dan aktual, saya sarankan untuk mengunjungi situs mereka: github.com/nodesource/distributions .
pendeta senior
Mengapa Anda tidak mempercayainya jika itu datang melalui koneksi aman dari sumber yang sama dengan tempat Anda menjalankan biner
@ acidzombie24 benar, tetapi bahkan jika Anda memercayai kode untuk tidak jahat, selalu ada kemungkinan kesalahan dalam skrip, atau skrip yang ketinggalan zaman, atau konfigurasi Anda sedikit eksotis. Atau mungkin Anda ingin memesan sumber Anda. Buat daftar dengan cara tertentu dan skrip melakukannya sebaliknya. Ngomong-ngomong, saya juga berpikir itu adalah praktik buruk dan pemula (saya tidak bertujuan OP tetapi secara umum) tidak boleh didorong untuk melakukan itu. Terutama ketika melakukan tindakan secara manual jauh lebih mudah daripada memeriksa skrip.
Jérôme
12

Anda dapat mengunduh versi Node ( 4.2.2) terbaru dari situs web mereka , alih-alih menggunakan paket yang disediakan Debian ( 0.12). Ini juga berarti Anda memiliki versi npm yang diperbarui. Saya tidak punya masalah melakukan hal ini pada Jessie.

Unduh .tar.gzdari situs web mereka dan cdke dir itu (nama file jelas khusus untuk unduhan saya):

$ tar -xzvf node-v4.2.2-linux-x64.tar.gz
$ cd node-v4.2.2-linux-x64

Jika Anda melihat folder bin, Anda akan melihat binari yang Anda perlukan untuk node dan npm:

$ ls node-v4.2.2-linux-x64/bin 
node  npm

Sekarang saya akan mengganti nama folder menjadi sesuatu yang sedikit lebih mudah untuk dilacak

$ mv node-v4.2.2-linux-x64 nodejs

Jika Anda tidak tertarik untuk membuat simpul diperbarui, maka cukup pindahkan folder ini ke salah satu lokasi nampan Anda (saya gunakan ~/bin), dan lewati langkah berikutnya.

Jika Anda ingin dapat dengan mudah memperbarui versi node Anda, maka pindahkan nodejsfolder di suatu tempat Anda dapat melacaknya ( ~/nodejsmungkin?). Kemudian Anda ingin membuat symlink ke salah satu lokasi bin Anda sehingga binari dapat digunakan dari shell Anda tanpa menuliskan path lengkap.

Dengan asumsi Anda meletakkan folder nodejs di direktori home Anda sekarang dapat Anda lakukan:

$ ln -s ~/nodejs ~/bin/nodejs

Jelas, ini dapat pergi ke lokasi nampan yang Anda inginkan. Saya menggunakan direktori home saya sehingga hanya tersedia untuk saya, tetapi Anda juga bisa dengan mudah melakukannya:

$ ln -s ~/nodejs /usr/local/bin/nodejs

Ini akan membuat symlink dari folder nodejs di direktori home Anda ke direktori bin (artinya setiap pembaruan ke direktori di folder home Anda tercermin di folder di tempat lain melalui tautan simbolik ). Sekarang Anda ingin memastikan bahwa folder bin yang berisi direktori nodejs ada di $PATHvariabel lingkungan Anda , jadi buka ~/.profilefile di direktori home Anda. Anda ingin menambahkan ini ke bagian bawah file itu (mengubah jalur, jika Anda tidak menggunakan ~/bin/):

# Set the node PATH if it exists
if [ -d "$HOME/bin/nodejs/bin" ] ; then
    PATH="$HOME/bin/nodejs/bin:$PATH"
fi

Ini akan memeriksa apakah direktori ada, dan jika ada, tambahkan ke PATH Anda. Saya menggunakan zshjadi saya baru saja memperbarui baris di ~/.zshrc:

export PATH="$HOME/bin/nodejs/bin:$PATH"

Tutup terminal Anda dan buka kembali, lalu ketik berikut ini untuk memeriksa:

$ node -v
v4.2.2

$ npm -v
2.14.7

Dengan membuat tautan sym, sekarang berarti bahwa di masa depan, Anda dapat mengunduh yang baru .tar.gzdari situs web Nodejs, mengekstraknya ~/nodejs, dan binari yang tersedia untuk Anda di $PATH variabel lingkungan Anda diperbarui secara otomatis.

Luke
sumber
Yang ini bekerja untuk saya karena juga memberikan npm yang berfungsi.
artfulrobot
4

dalam kasus saya, saya menjalankan perintah shell yang direkomendasikan:

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

masalahnya adalah bahwa skrip bash tidak memperbarui pin APT saya, jadi apt-get instal paket Debian default dari sumber debian.org dan bukan dari nodesource.com

verifikasi ini masalahnya apt-cache policy nodejs. Anda harus melihat sesuatu seperti Candidate: 6.10.2-1nodesource1~jessie1dan tidakCandidate: 0.10.29~dfsg-2

untuk menetapkan prioritas pin ke nodesource, tambahkan file yang /etc/apt/preferences.d/dipanggil nodeatau apa pun dengan konten ini:

Package: nodejs
Pin: release o=Node Source
Pin-Priority: 1200

simpan dan jalankan apt-get cache update. lalu coba apt-cache policy nodejslagi. jika kandidat terlihat benar, instal seperti biasaapt-get install nodejs

georgiecasey
sumber
apt-get cache updatekembali E: Invalid operation cachejadi aku berlari sudo aptitude update.
user394
2

Anda dapat mengikuti dokumentasi resmi node.js untuk menginstal versi terbaru dengan manajer paket.

Node.js v6:

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

Node.js v7:

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

Menjalankan yang terakhir, simpul v7.5.0 dan npm v4.1.2 diinstal pada sistem saya. Keduanya nodedan nodejsalias diaktifkan untuk Node secara otomatis.

mrkvon
sumber