NVM & Node.js-installation recommandée pour tous les utilisateurs

est-ce qu'il y a 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

  • installé nvm dans un répertoire commun
  • <!--5 nvm.sh script locationin .profil pour tous les utilisateurs
  • créé un nvm/répertoire alias (nvm se plaint si ce n'est pas ici pour d'autres utilisateurs)

ensuite, chaque utilisateur doit exécuter "nvm utilisation" ou le mettre dans leur profil par défaut

vous ne savez pas s'il y a un meilleur moyen?

merci

42
demandé sur jadent 2012-07-18 17:44:13

4 réponses

Voici ce que j'ai fait:

  1. Installé nvm/opt/nvm comme root. Semblait être un endroit approprié.

    # git clone git@github.com:creationix/nvm.git /opt/nvm
    
  2. Créé le répertoire /usr/local/nvm. C'est là que les téléchargements ($NVM_DIR)

    # mkdir /usr/local/nvm
    
  3. Créer le répertoire /usr/local/node. C'est là que le mécanisme national de prévention global des trucs ira:

    # mkdir /usr/local/node
    
  4. Créé un fichier appelé nvm.sh/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"
    
  5. se reconnecter à une session shell, puis définir la version du noeud par défaut.

    # nvm install 0.10
    # nvm alias default 0.10
    

les binaires des noeuds devraient maintenant être dans le PATH pour tous les utilisateurs la prochaine fois que vous vous connecter à une session shell. NPM installera global things sur le /usr/local/node préfixe.

45
répondu Tim Smart 2014-04-29 02:45:42

il est préférable d'installer une copie du noeud globalement pour que les autres utilisateurs puissent y accéder. Pour ce faire, lancez la commande suivante (saisissant 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

ce commend copie toute version de node que vous avez active via nvm dans le /usr/local/ répertoire et définissez les autorisations de sorte que tous les utilisateurs puissent y accéder.

pour vérifier qu'il fonctionne, devenir l'utilisateur root et faire une autre commande pour s'assurer que le noeud est maintenant installé /usr/local/bin:

sudo -s
which node

si jamais vous voulez changer la version de node qui est installé à l'échelle du système, il suffit de faire une autre nvm utiliser vXX.XX.XX pour passer le noeud de votre utilisateur à la version que vous voulez, puis relancer la première commande ci-dessus pour la Copier dans le répertoire système.

23
répondu Glowin 2013-12-19 05:40:26
  1. sudo -s
  2. installer nvm: curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.1/install.sh | NVM_DIR=/usr/local/nvm bash
  3. Installer nœud: nvm install 7.2.0
  4. Créé un fichier appelé nvm.sh dans /etc/profile.d avec le contenu suivant: export NVM_DIR="/usr/local/nvm" [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
11
répondu Biscar 2017-02-24 18:27:16
connexion, mais il fallait accéder aux pm2 (pour surveiller une de nos applications).

créer 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ées 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'
2
répondu matth 2016-09-16 16:17:59