Bagaimana cara Menginstal Node.js tanpa akses sudo tetapi dengan npm 1.3.10 terinstal?

14

Saya memiliki sedikit pengetahuan tentang Ubuntu 14.04.

Saya perlu menginstal Node.js. Ubuntu yang saya gunakan adalah sistem besar untuk suatu organisasi jadi saya tidak memiliki sudoakses, tetapi saya menemukan bahwa npm 1.3.10 terinstal.

Saya mencari urutan perintah untuk menginstal Node.js ke direktori pengguna saya. Saya telah mengunduh Node.jsdari sini di nodejs.org (versi LTS, 64 bit) di ~/Downloads/node-v8.9.1-linux-x64.tar.xz. Apa yang harus saya lakukan selanjutnya?

pengguna5280911
sumber
Perangkat keras perusahaan Anda BUKAN bagi Anda untuk menginstal hal-hal di luar dari apa yang Anda berhak lakukan. Silakan hubungi departemen TI Anda alih-alih memposting hal-hal acak di web.
3
@MichaelBay Node.js juga dapat diinstal secara lokal tanpa harus menggunakan sudo dan tanpa harus menghubungi departemen TI untuk mendapatkan otorisasi untuk menginstal Node.js secara global.
karel

Jawaban:

17

Untuk menginstal Node.js dan npm secara lokal tanpa harus menggunakan sudo, buka terminal dan ketik:

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

The ikal paket tidak diinstal di Ubuntu secara default. Jika Anda tidak memiliki ikal yang diinstal pada sistem Anda, ganti semua instance curldalam file install.sh dengan wget -cdan simpan perubahan ke file install.sh sebelum menjalankannya.

Ini akan menginstal node-v9.2.0 yang merupakan versi Node.js yang lebih baru dari file yang sudah Anda unduh.

karel
sumber
Terima kasih banyak, karel. Saya tidak hanya tahu cara menginstal Node.js, tetapi juga mempelajari metode umum untuk menginstal perangkat lunak ke folder pengguna saya dari sumber. Hanya dua hal yang perlu disebutkan, 1) pertama, saya sudah ada ~ / .bashrc, jadi saya menambahkan path di geditor secara manual dan login ulang. 2) Saya tidak mengerti perintah ke-6 jadi saya menjalankannya secara terpisah: wget pertama ... tar -xzf kedua ... dan akhirnya cd ke folder unzipped. Saya juga tidak mengerti perintah terakhir. Apakah itu berarti saya mengunduh install.sh dari url itu dan menjalankannya?
user5280911
Apa yang Anda lakukan dengan ~ / .bashrc yang ada adalah OK. Mengenai perintah terakhir, ia mengunduh file install.sh dari url dan menjalankannya, selain itu file install.sh bahkan tidak perlu memiliki izin yang dapat dieksekusi karena Anda menjalankan perintah sebagai pengguna biasa, bukan dengan sudo .
karel
1
Saya mendapatkannya. Terima kasih. Maaf, saya tidak dapat memilih-pilih jawaban Anda karena poin reputasi saya tidak cukup, tetapi saya akan melakukannya sesegera mungkin. Sekali lagi terima kasih atas bantuannya.
user5280911
Apakah ada cara untuk mencapai ini ketika Anda tidak memiliki akses ke kompiler C - mungkin menggunakan binari?
Simon East
GitHub pengguna Isaacs penemu NPM menulis beberapa script untuk teknik untuk menginstal node dan NPM tanpa harus menggunakan sudo: node-and-npm-in-30-seconds.sh . Catatan: npm> = 0,3 lebih aman saat menggunakan sudo. Tolong jangan lakukan ini jika Anda tidak tahu apa fungsinya!
karel
2

Saya berolahraga dengan cara ini - dalam 2 langkah.

Langkah 1: Unduh dan ekstrak binari nodejs

# create a directory where you want to install node js
mkdir ~/nodejs-latest

# download and extract nodejs binaries into the created directory
cd ~/nodejs-latest
wget -c http://nodejs.org/dist/node-latest.tar.gz | tar xz --strip-components=1


Langkah 2: Tetapkan PATH dan sumber

# append the following lines to the ~/.bashrc file
export NODE_HOME=~/nodejs-latest
export PATH=$PATH:$NODE_HOME/bin

# refresh environment variables
source ~/.bashrc

Anda kemudian dapat memverifikasi instalasi nodejs dengan node --versiondan npm --version.

Ramvignesh
sumber
Saya pikir perintah Anda sedang mengunduh file sumber Node (tidak dikompilasi). Mungkin Anda bermaksud mengunduh binari?
Simon East
-1

Saya suka menggunakan grup ubuntu untuk mencapai ini. Sederhana saja.

  1. Pertama instal nodejs dan npm menggunakan apt-get

    sudo apt-get update && sudo apt-get install nodejs npm

  2. Cari tahu siapa yang masuk yaitu nama pengguna, jalankan perintah berikut untuk melihatnya di terminal

    whoami

  3. Anda dapat melihat daftar grup yang ditugaskan dengan menggunakan perintah yang sangat sederhana, biasanya grup pertama adalah nama pengguna Anda sendiri

    groups

  4. Jalankan berikut untuk memungkinkan akses ke pengguna yang masuk

    sudo chmod 777 -R /usr/local && sudo chgrp $(whoami) -R /usr/local

  5. Perbarui npm dan nodejs

    npm install -g npm

Anda diatur, pengguna Anda dapat menjalankan perintah npm tanpa sudo

Anda juga dapat merujuk ke kesalahan npm throws tanpa sudo .

Gitesh Dalal
sumber
1
Mengubah izin standar sistem file harus menjadi tindakan terakhir.
Carlos Dagorret