Comment installer Node.js sans accès sudo mais avec npm 1.3.10 installé?

14

Je connais peu Ubuntu 14.04.

J'ai besoin d'installer Node.js. L'Ubuntu que j'utilise est un gros système pour une organisation, donc je n'y ai pas sudoaccès, mais j'ai trouvé que npm 1.3.10 est installé.

Je recherche une séquence de commandes pour installer Node.js dans mon répertoire utilisateur. J'ai téléchargé à Node.jspartir de là sur nodejs.org (version LTS, 64 bits) dans ~/Downloads/node-v8.9.1-linux-x64.tar.xz. Que dois-je faire ensuite?

user5280911
la source
Le matériel de votre entreprise n'est PAS pour vous pour installer des choses en dehors de ce que vous êtes autorisé à faire. Veuillez contacter votre service informatique au lieu de publier des éléments aléatoires sur le Web.
3
@MichaelBay Node.js peut également être installé localement sans avoir à utiliser sudo et sans avoir à contacter le service informatique afin d'obtenir l'autorisation d'installer Node.js à l'échelle mondiale.
karel

Réponses:

17

Afin d'installer Node.js et npm localement sans avoir à utiliser sudo, ouvrez le terminal et tapez:

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  

Le paquet curl n'est pas installé par défaut dans Ubuntu. Si vous n'avez pas installé curl sur votre système, remplacez toutes les instances de curldans le fichier install.sh par wget -cet enregistrez les modifications dans le fichier install.sh avant de l'exécuter.

Cela installera node-v9.2.0 qui est une version plus récente de Node.js que le fichier que vous avez déjà téléchargé.

Karel
la source
Merci beaucoup, Karel. Je sais non seulement comment installer Node.js, mais j'ai également appris une méthode générale pour installer un logiciel dans mon dossier utilisateur à partir de la source. Seulement deux choses à mentionner, 1) d'abord, j'ai un ~ / .bashrc existant, j'ai donc ajouté le chemin dans geditor manuellement et me reconnecter. 2) Je ne comprends pas la 6ème commande donc je les exécute séparément: d'abord wget ... deuxième tar -xzf ... et enfin cd dans le dossier décompressé. Je ne comprends pas non plus la dernière commande. Est-ce que cela signifie que je télécharge install.sh à partir de cette URL et l'exécute?
user5280911
Ce que vous avez fait avec ~ / .bashrc existant est OK. En ce qui concerne la dernière commande, elle télécharge le fichier install.sh à partir de l'url et l'exécute, en plus le fichier install.sh n'a même pas besoin d'avoir des autorisations exécutables car vous exécutez la commande en tant qu'utilisateur normal, pas avec sudo .
karel
1
J? ai compris. Je vous remercie. Je suis désolé, je ne peux pas voter pour votre réponse parce que mon point de réputation n'est pas suffisant, mais je le ferai une fois que je le pourrai. Merci encore pour votre aide.
user5280911
Existe-t-il un moyen d'y parvenir lorsque vous n'avez pas accès à un compilateur C - peut-être en utilisant les binaires?
Simon East
L'utilisateur de GitHub isaacs, l'inventeur de npm a écrit quelques scripts pour les techniques d'installation de node et npm sans avoir à utiliser sudo: node-and-npm-in-30-seconds.sh . Remarque: npm> = 0,3 est plus sûr lors de l'utilisation de sudo. S'il vous plaît ne faites pas cela si vous ne savez pas ce qu'il fait!
karel
2

Je m'entraîne de cette façon - en 2 étapes.

Étape 1: télécharger et extraire les binaires 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


Étape 2: définir le chemin et la source

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

# refresh environment variables
source ~/.bashrc

Vous pouvez ensuite vérifier l'installation de nodejs avec node --versionet npm --version.

Ramvignesh
la source
Je pense que votre commande télécharge les fichiers source de Node (non compilés). Peut-être avez-vous l'intention de télécharger les binaires?
Simon East
-1

J'aime utiliser des groupes ubuntu pour y parvenir. C'est assez simple.

  1. Installez d'abord nodejs et npm en utilisant apt-get

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

  2. Déterminez qui est connecté, c'est-à-dire le nom d'utilisateur, exécutez la commande suivante pour le voir dans le terminal

    whoami

  3. Vous pouvez voir la liste des groupes qui vous sont attribués en utilisant une commande très simple, normalement le premier groupe est votre nom d'utilisateur lui-même

    groups

  4. Exécutez la commande suivante pour autoriser l'accès à l'utilisateur connecté

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

  5. Mettre à jour npm et nodejs

    npm install -g npm

Vous êtes allset, votre utilisateur peut exécuter des commandes npm sans sudo

Vous pouvez également vous référer à npm jette une erreur sans sudo .

Gitesh Dalal
la source
1
La modification des autorisations standard du système de fichiers doit être la dernière action.
Carlos Dagorret