existe-t-il une installation recommandée pour NVM afin que tous les utilisateurs puissent l'utiliser? je ne trouve rien sur le web à ce sujet.
c'est ce que j'ai fait
puis chaque utilisateur doit soit exécuter "nvm use", soit le mettre dans son profil par défaut
vous ne savez pas s'il y a une meilleure façon?
merci
Voici ce que j'ai fait:
nvm
installé dans /opt/nvm
en tant que root. Semblait comme un endroit approprié.
# git clone [email protected]:creationix/nvm.git /opt/nvm
Création du répertoire /usr/local/nvm
. C'est là que les téléchargements iront ($NVM_DIR
)
# mkdir /usr/local/nvm
Créez le répertoire /usr/local/node
. C'est là que le contenu global du NPM ira:
# mkdir /usr/local/node
Créé un fichier appelé nvm.sh
dans /etc/profile.d
avec le contenu suivant:
export NVM_DIR=/usr/local/nvm
source /opt/nvm/nvm.sh
export NPM_CONFIG_PREFIX=/usr/local/node
export PATH="/usr/local/node/bin:$PATH"
Reconnectez-vous à une session Shell, puis définissez la version du nœud par défaut.
# nvm install 0.10
# nvm alias default 0.10
Les fichiers binaires du nœud devraient maintenant être dans le PATH
pour tous les utilisateurs lors de votre prochaine connexion à une session Shell. NPM va installer des choses globales sur le /usr/local/node
préfixe.
Il est préférable d'installer une copie du nœud globalement afin que les autres utilisateurs puissent y accéder. Pour ce faire, exécutez la commande suivante (en entrant le mot de passe de votre utilisateur à l'invite):
n=$(which node);n=${n%/bin/node}; chmod -R 755 $n/bin/*; Sudo cp -r $n/{bin,lib,share} /usr/local
Cette recommandation copie la version du nœud que vous avez active via nvm dans le /usr/local/
répertoire et définissant les autorisations afin que tous les utilisateurs puissent y accéder.
Pour vérifier que cela fonctionne, devenez l'utilisateur root et exécutez une autre commande which pour vous assurer que le nœud est maintenant installé sur /usr/local/bin
:
Sudo -s
which node
Si vous souhaitez modifier la version du nœud installée sur l'ensemble du système, faites simplement une autre opération nvm avec vXX.XX.XX pour basculer le nœud de votre utilisateur vers la version souhaitée, puis réexécutez la première commande ci-dessus pour la copier dans le répertoire système.
Sudo -s
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.1/install.sh | NVM_DIR=/usr/local/nvm bash
nvm.sh
dans /etc/profile.d
avec le contenu suivant: #!/usr/bin/env bash export NVM_DIR="/usr/local/nvm" [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
/etc/profile.d/nvm.sh
nvm install node
npm install -g npm
Étant donné que LJHarb recommande de ne pas installer cela globalement, j'ai décidé de créer un script pour installer nvm lorsque vous vous connectez au serveur. J'en avais besoin car j'avais plusieurs utilisateurs configurés qui mai se connectaient, mais avaient besoin d'accéder à pm2 (pour surveiller l'une de nos applications).
Créez le script dans /etc/profile.d/ (nommé nvm.sh par exemple):
#!/bin/bash
NODE_VER=6.2.2
if [ ! -f ~/.nvm/nvm.sh ]; then
# May need to be updated with the latest nvm release
wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.32.0/install.sh | bash
fi
source ~/.nvm/nvm.sh
if ! command -v node | grep -q $NODE_VER; then
echo "Node is not installed"
nvm install $NODE_VER
nvm alias default $NODE_VER
fi
Pour notre application, nous avions besoin de pm2 partagé entre les utilisateurs:
if ! command -v pm2 &>/dev/null; then
echo "pm2 not installed"
npm install -g pm2
fi
# Share pm2 configuration between users
alias pm2='env HOME=/opt/sora pm2'
Il existe également ce fork de nvm conçu pour une utilisation mondiale: https://github.com/xtuple/nvm
wget -qO- https://raw.githubusercontent.com/xtuple/nvm/master/install.sh | Sudo bash
Sudo chown -R $USER /usr/local/nvm
nvm install 8
Mise à jour: j'ai essayé différentes façons d'utiliser le nvm de xtuple et également n pour gérer un environnement de nœud global et j'ai toujours rencontré des cas Edge où il y avait des problèmes. En fin de compte, ce qui a fonctionné le mieux pour moi a été de télécharger quelques versions de node à partir de leur site Web et de les décompresser dans/usr/local. Ensuite, mettez à jour mon chemin avec la version que je veux. par exemple.
export PATH=/usr/local/node-v7.10.1-linux-x64/bin:$PATH
Remarque: Vous devrez probablement chmod 777 le chemin du nœud ou dédier un utilisateur pour le gérer.