J'essaie de mettre à jour ma version de noeud vers la dernière version stable.
En utilisant cette ressource j'ai pu:
Sudo npm install n -g
Mais quand j'essaye
Sudo npm n stable
Je reçois:
Sudo: n: command not found
Si j'exécute n stable
, la commande est présente:
n stable
mkdir: cannot create directory ‘/usr/local/n’: Permission denied
mkdir: cannot create directory ‘/usr/local/n’: Permission denied
mkdir: cannot create directory ‘/usr/local/n’: Permission denied
mkdir: cannot create directory ‘/usr/local/n’: Permission denied
install : node-v0.12.2
mkdir : /usr/local/n/versions/node/0.12.2
mkdir: cannot create directory ‘/usr/local/n’: Permission denied
Error: Sudo required
Étonnamment, votre installation npm
a le préfixe global dans un dossier appelé npm
de votre répertoire de base, ce qui signifie que tout package installé avec l'indicateur -g
s'installera sur ce dossier.
Vous pouvez modifier ce dossier en n'importe quel dossier qui se trouve sur le chemin d'accès sécurisé Sudo
en procédant comme suit:
Manière graphique:
.npmrc
avec votre éditeur de texte préféré.Recherchez une ligne sur ce fichier avec ce contenu:
prefix=/home/<your_username>/npm
/home/<your_username>/npm
par un chemin sécurisé (tel que /usr/local/bin
).Une fois remplacé, il ressemblera à ceci:
prefix=/usr/local/bin
Sudo npm install n -g
voie terminale:
Exécutez cette commande:
sed -i.bak "s%^prefix=.*$%prefix=/usr/local/bin%" ~/.npmrc
J'ai trouvé une solution qui a fonctionné pour moi:
Sudo -E env "PATH=$PATH" n stable
Je l'ai trouvé ici: https://stackoverflow.com/a/29400598/861615
Je sais que ceci est un forum Ubuntu, mais je suis sûr que cela aidera quelqu'un qui a le même problème sur les saveurs RHEL et qui googlé ici comme je l'ai fait. Peut-être que cela fonctionne aussi dans Ubuntu.
ln -s /usr/local/bin/n /usr/bin/n
Pour éviter de gâcher le dossier .npm-global
en tant que noté par @Edson Horacio Junior, et basé sur celui de @ pohest réponse , voici comment je l'ai corrigé:
Sudo ln -s /home/<username>/.npm-global/bin/n /usr/local/bin/n
Sudo n --version # test it
Notez que cela ne fonctionnera probablement pas si vous n'avez pas suivi les étapes de npm pour changer le répertoire global par défaut .
J'ai trouvé une solution qui a fonctionné pour moi. Utilisez le package nvm
pour télécharger le dernier noeud.
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | bash
export NVM_DIR="${XDG_CONFIG_HOME/:-$HOME/.}nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
nvm -v
s'il ne peut pas voir nvm
installé, exécutez le script ci-dessous.command -v nvm
nvm install node
node -v
Plus d'infos ici: https://github.com/nvm-sh/nvm