Come installare Node.js senza accesso sudo ma con npm 1.3.10 installato?


14

Ho poca conoscenza di Ubuntu 14.04.

Devo installare Node.js. Ubuntu che sto usando è un grande sistema per un'organizzazione, quindi non ho sudoaccesso, ma ho scoperto che npm 1.3.10 è installato.

Sto cercando una sequenza di comandi per installare Node.js nella mia directory utente. Ho scaricato Node.jsda qui su nodejs.org (versione LTS, 64 bit) in ~/Downloads/node-v8.9.1-linux-x64.tar.xz. Cosa faccio dopo?


L'hardware della tua azienda NON è per te per installare cose al di fuori di ciò che sei autorizzato a fare. Si prega di contattare il reparto IT invece di pubblicare cose casuali sul Web.

3
@MichaelBay Node.js può anche essere installato localmente senza dover usare sudo e senza contattare il dipartimento IT per ottenere l'autorizzazione per installare Node.js a livello globale.
karel,

Risposte:


17

Per installare Node.js e npm localmente senza dover usare sudo aprire il terminale e digitare:

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  

Il pacchetto curl non è installato in Ubuntu per impostazione predefinita. Se non hai installato curl sul tuo sistema, sostituisci tutte le istanze del curlfile install.sh con wget -ce salva le modifiche nel file install.sh prima di eseguirlo.

Questo installerà node-v9.2.0 che è una versione successiva di Node.js rispetto al file che hai già scaricato.


Grazie mille, Karel. Non solo so come installare Node.js, ma ho anche imparato un metodo generale per installare un software nella mia cartella utente dal sorgente. Solo due cose da menzionare, 1) per prima cosa, ho un ~ / .bashrc esistente, quindi ho aggiunto manualmente il percorso in geditor e rieseguo il login. 2) Non capisco il sesto comando, quindi li eseguo separatamente: prima wget ... secondo tar -xzf ... e infine cd nella cartella decompressa. Neanche io capisco l'ultimo comando. Significa che scarico install.sh da quell'URL ed eseguo?
user5280911

Quello che hai fatto con ~ / .bashrc esistente è OK. Per quanto riguarda l'ultimo comando, scarica il file install.sh dall'URL ed lo esegue, inoltre il file install.sh non ha nemmeno bisogno di autorizzazioni eseguibili perché stai eseguendo il comando come utente normale, non con sudo .
karel,

1
Capito. Grazie. Mi dispiace di non poter votare la tua risposta perché il mio punto di reputazione non è sufficiente, ma lo farò una volta che posso. Grazie ancora per il tuo aiuto.
user5280911

C'è un modo per raggiungere questo obiettivo quando non si ha accesso a un compilatore C - forse usando i binari?
Simon East

L'utente di GitHub isaacs l'inventore di npm ha scritto alcuni script per le tecniche per installare node e npm senza dover usare sudo: node-and-npm-in-30-seconds.sh . Nota: npm> = 0.3 è più sicuro quando si usa sudo. Per favore, non farlo se non sai cosa fa!
karel

2

Mi alleno in questo modo - in 2 passaggi.

Passaggio 1: scaricare ed estrarre i file 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


Passaggio 2: impostare PATH e sorgente

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

# refresh environment variables
source ~/.bashrc

È quindi possibile verificare l'installazione di nodejs con node --versione npm --version.


Penso che il tuo comando stia scaricando i file sorgente Node (non compilati). Forse hai intenzione di scaricare i binari?
Simon East

-1

Mi piace usare i gruppi Ubuntu per raggiungere questo obiettivo. È abbastanza semplice.

  1. Prima installa nodejs e npm usando apt-get

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

  2. Scopri chi ha effettuato l'accesso, ad esempio nome utente, esegui il comando seguente per vederlo nel terminale

    whoami

  3. Puoi vedere l'elenco dei gruppi che ti sono stati assegnati usando un comando molto semplice, normalmente il primo gruppo è il tuo stesso nome utente

    groups

  4. Eseguire quanto segue per consentire l'accesso all'utente connesso

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

  5. Aggiorna npm e nodejs

    npm install -g npm

Sei pronto, il tuo utente può eseguire comandi npm senza sudo

Puoi anche fare riferimento all'errore di lancio di npm senza sudo .


1
La modifica delle autorizzazioni standard del file system dovrebbe essere l'ultima azione.
Carlos Dagorret,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.