web-dev-qa-db-fra.com

Quel est le moyen suggéré d'installer brew, node.js, io.js, nvm, npm sur OS X?

J'essaie d'utiliser l'homebrew autant que possible. Quelle est la méthode suggérée pour installer les éléments suivants sur OS X?

et soutient, espérons-le, le développement de:

152
ohho
  1. Utilisation de homebrew install nvm:

    brew update
    brew install nvm
    source $(brew --prefix nvm)/nvm.sh
    

    Ajoutez la dernière commande au fichier .profile, .bashrc ou .zshrc pour ne pas la réexécuter à chaque démarrage du terminal. Ainsi, par exemple, pour l'ajouter à l'exécution .profile:

    echo "source $(brew --prefix nvm)/nvm.sh" >> ~/.profile
    

    Si vous rencontrez des problèmes pour installer nvm à l’aide de brew, vous pouvez l’installer manuellement (voir ici )

  2. En utilisant nvm install node ou iojs (vous pouvez installer n’importe quelle version de votre choix):

    nvm install 0.10
    # or
    nvm install iojs-1.2.0
    
  3. npm est expédié avec node (ou iojs). Il sera donc disponible après l’installation de node (ou iojs). Vous voudrez peut-être le mettre à jour avec la dernière version:

    $ npm install -g npm@latest
    

    UPD La version précédente était npm update -g npm. Merci à @Metallica pour avoir indiqué le bon chemin (regardez le commentaire ci-dessous).

  4. Utilisation de npm install ionic:

    npm install -g ionic
    
  5. Qu'en est-il de ngCordova: vous pouvez l'installer à l'aide de npm ou bower. Je ne sais pas quelle variante vous convient le mieux, cela dépend du gestionnaire de paquets que vous souhaitez utiliser pour le côté client. Je vais donc les décrire tous les deux:

    1. Using npm: Allez dans le dossier de votre projet et installez ng-cordova dans celui-ci:

      npm install --save ng-cordova
      
    2. Utilisation de bower: Installez bower:

       npm install -g bower
      

      Ensuite, allez dans le dossier de votre projet et installez ngCordova dans celui-ci:

       bower install --save ngCordova
      

PS

  1. Certaines commandes peuvent nécessiter le privilège de superutilisateur
  2. La variante courte de npm install some_module est npm i some_module
246
alexpods

2018 Version

Dans la plupart des réponses, la méthode recommandée pour installer nvm consiste à utiliser Homebrew

Ne faites pas cela

Sur Github Page pour nvm, il est clairement appelé:

L'installation Homebrew n'est pas prise en charge. Si vous avez des problèmes avec nvm installé par homebrew, veuillez l’installer, puis l’installer à l’aide de les instructions ci-dessous, avant de déposer un problème.

Utilisez la méthode suivante à la place

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash

Le script clone le référentiel nvm sur ~/.nvm et ajoute la ligne source à votre profil (~/.bash_profile, ~/.zshrc, ~/.profile ou ~/.bashrc).

Et puis utilisez nvm pour installer le noeud. Par exemple, pour installer la dernière version de LTS, procédez comme suit:

nvm install v8.11.1

Propre et sans tracas. Cela marquerait ceci comme votre version de noeud par défaut aussi bien que vous devriez être tous ensemble

11
Abhijit Mazumder

J'utilise n (gestion de version de nœud)

Vous pouvez l'installer de deux manières

brew install n

ou

npm install -g n

Vous pouvez basculer entre les différentes versions de node et io. Voici un exemple tiré de mon env actuel lorsque j'appelle n sans paramètres: 

$ n

  io/3.3.1
  node/0.12.7
  node/4.0.0
  node/5.0.0
ο node/5.10.1 
11
Serge Seletskyy

Je suis super tard pour ça mais je n'ai pas aimé les autres réponses

Installation de Homebrew

Pour brasser courir 

"$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Installation du noeud & npm

Vous NE DEVRIEZ PAS utiliser brew pour installer node et npm

J'ai vu quelques endroits suggérer que vous devriez utiliser Homebrew pour installer Node (comme alexpods answer et dans ce Blog Team Treehouse Post ), mais l'installation de cette manière vous expose davantage à des problèmes tels que npm et brew sont les deux gestionnaires de paquets et vous devriez avoir un gestionnaire de paquets gérer un autre gestionnaire de paquets cela pose des problèmes, comme ce bug offical npm issues Erreur: Refuser de supprimer:/usr/local/bin/npm ou this Impossible de désinstaller le module npm sous OSX

Vous pouvez lire plus sur le sujet dans le post de DanHerbert Correction de npm sur Mac OS X pour les utilisateurs Homebrew , où il poursuit:

De plus, l'utilisation de l'installation Homebrew de npm nécessite l'utilisation de Sudo lors de l'installation de packages globaux. L'une des idées fondamentales de Homebrew étant qu'il est possible d'installer des applications sans leur donner d'accès root, c'est une mauvaise idée.

Pour tout le reste

J'utiliserais npm; mais vous devriez vraiment suivre les instructions d'installation pour chaque module en suivant les instructions sur leur site Web, car ils seront plus au courant de leurs problèmes ou de leurs bogues que quiconque

7
garrettmac

Si vous avez déjà installé le noeud en utilisant brew, vous aurez un tas de fichiers supplémentaires que vous devriez nettoyer avant d'installer le noeud "dans le bon sens". De plus, je devais ajouter quelques paramètres à mon script de démarrage pour que tout se passe bien.

J'ai écrit un script pour rendre cela facile.

# filename:  install-nvm-npm-node
# author:    Lex Sheehan
# purpose:   To cleanly install NVM, NODE and NPM
# dependencies:  brew

NOW=$(date +%x\ %H:%M:%S)
CR=$'\n'
REV=$(tput rev)
OFF=$(tput sgr0)
BACKUP_DIR=$HOME/backups/nvm-npm-bower-caches/$NOW
MY_NAME=$(basename $0)
NODE_VER_TO_INSTALL=$1
if [ "$NODE_VER_TO_INSTALL" == "" ]; then
    NODE_VER_TO_INSTALL=v0.12.2
fi
if [ "`echo "$NODE_VER_TO_INSTALL" | cut -c1-1`" != "v" ]; then
    echo """$CR""Usage:   $ $MY_NAME <NODE_VERSION_TO_INSALL>"
    echo "Example: $ $MY_NAME v0.12.1"
    echo "Example: $ $MY_NAME $CR"
    exit 1
fi
echo """$CR""First, run:  $ brew update"
echo "Likely, you'll need to do what it suggests."
echo "Likely, you'll need to run: $ brew update$CR"
echo "To install latest node version, run the following command to get the latest version:  $ nvm ls-remote"
echo "... and pass the version number you want as the only param to $MY_NAME. $CR"
echo "Are you ready to install the latest version of nvm and npm and node version $NODE_VER_TO_INSTALL ?$CR"
echo "Press CTL+C to exit --or-- Enter to continue..."
read x

echo """$REV""Uninstalling nvm...$CR$OFF"
# Making backups, but in all likelyhood you'll just reinstall them (and won't need these backups)
if [ ! -d "$BACKUP_DIR" ]; then 
    echo "Creating directory to store $HOME/.nvm .npm and .bower cache backups: $BACKUP_DIR"
    mkdir -p $BACKUP_DIR
fi 
set -x
mv $HOME/.nvm   $BACKUP_DIR  2>/dev/null
mv $HOME/.npm   $BACKUP_DIR  2>/dev/null
mv $HOME/.bower $BACKUP_DIR  2>/dev/null
{ set +x; } &>/dev/null

echo "$REV""$CR""Uninstalling node...$CR$OFF"
echo "Enter your password to remove user some node-related /usr/local directories"
set -x
Sudo rm -rf /usr/local/lib/node_modules
rm -rf /usr/local/lib/node
rm -rf /usr/local/include/node
rm -rf /usr/local/include/node_modules
rm /usr/local/bin/npm
rm /usr/local/lib/dtrace/node.d
rm -rf $HOME/.node
rm -rf $HOME/.node-gyp
rm /opt/local/bin/node
rm /opt/local/include/node
rm -rf /opt/local/lib/node_modules
rm -rf /usr/local/Cellar/nvm
brew uninstall node 2>/dev/null
{ set +x; } &>/dev/null

echo "$REV""$CR""Installing nvm...$CR$OFF"

echo "++brew install nvm"
brew install nvm 
echo '$(brew --prefix nvm)/nvm.sh'
source $(brew --prefix nvm)/nvm.sh

echo "$REV""$CR""Insert the following line in your startup script (ex: $HOME/.bashrc):$CR$OFF"
echo "export NVM_DIR=\"\$(brew --prefix nvm)\"; [ -s \"\$NVM_DIR/nvm.sh\" ] && . \"\$NVM_DIR/nvm.sh\"$CR"
NVM_DIR="$(brew --prefix nvm)"

echo """$CR""Using nvm install node...$CR"
echo "++ nvm install $NODE_VER_TO_INSTALL"
nvm install $NODE_VER_TO_INSTALL
NODE_BINARY_PATH="`find /usr/local/Cellar/nvm -name node -type d|head -n 1`/$NODE_VER_TO_INSTALL/bin"
echo "$REV""$CR""Insert the following line in your startup script (ex: $HOME/.bashrc) and then restart your Shell:$CR$OFF"
echo "export PATH=\$PATH:$NODE_BINARY_PATH:$HOME/.node/bin"

echo """$CR""Upgrading npm...$CR"
echo '++ install -g npm@latest'
npm install -g npm@latest
{ set +x; } &>/dev/null
echo "$REV""$CR""Insert following line in your $HOME/.npmrc file:$OFF"
echo """$CR""prefix=$HOME/.node$CR"
echo "Now, all is likley well if you can run the following without errors:  npm install -g grunt-cli$CR"
echo "Other recommended global installs: bower, gulp, yo, node-inspector$CR"

J'ai écrit un court article ici qui détaille pourquoi c'est "la bonne manière".

Si vous avez besoin d'installer iojs, utilisez nvm comme ceci:

nvm install iojs-v1.7.1

Pour installer infusion, il suffit de voir sa page d'accueil .

Voir alexpods answer pour le reste.

5
l3x

Je suis d’accord avec noa - si vous avez besoin de plusieurs versions de node, io.js, alors brasser n’est pas la solution appropriée.

Vous pouvez aider le support du beta-test io.js dans nvm: https://github.com/creationix/nvm/pull/616

Si vous voulez juste io.js et ne changez pas de version, vous pouvez installer la distribution binaire de io.js à partir de https://iojs.org/dist/v1.0.2/iojs-v1.0.2-darwin-x64.tar.gz ; qui inclut npm et vous n’aurez pas besoin de nvm si vous ne changez pas de version.

N'oubliez pas de mettre à jour npm après l'installation: Sudo npm install -g npm@latest

4
Sam Mikes

Vous devez installer node.js avec nvm, car vous n'avez pas à fournir de privilèges de superutilisateur lors de l'installation de packages globaux (vous pouvez simplement exécuter "npm install -g packagename" sans ajouter de préfixe "Sudo").

Brew est fantastique pour d'autres choses, cependant. J'ai tendance à être partial envers Bower chaque fois que j'ai la possibilité d'installer quelque chose avec Bower.

4
Rajan Patel

Voici ce que je fais:

curl https://raw.githubusercontent.com/creationix/nvm/v0.20.0/install.sh | bash
cd / && . ~/.nvm/nvm.sh && nvm install 0.10.35
. ~/.nvm/nvm.sh && nvm alias default 0.10.35

Pas de Homebrew pour celui-ci.

nvm supportera bientôt io.js, mais pas au moment de poster: https://github.com/creationix/nvm/issues/590

Ensuite, installez tout le reste, par projet, avec un package.json et un npm install.

3
paulmelnikow

Pour installer avec zsh et Homebrew:

brew install nvm

Ajoutez ensuite les éléments suivants à ~/.zshrc ou à votre shell souhaité fichier de configuration:

export NVM_DIR="$HOME/.nvm"
. "/usr/local/opt/nvm/nvm.sh"

Ensuite, installez une version de nœud et utilisez-la.

nvm install 7.10.1
nvm use 7.10.1
0
David Dehghan