wake-up-neo.net

Wie wird vorgeschlagen, brew, node.js, io.js, nvm, npm unter OS X zu installieren?

Ich versuche so viel Homebrew wie möglich zu verwenden. Was ist die empfohlene Installationsmethode für OS X?

und hoffentlich unterstützt die Entwicklung für:

152
ohho
  1. homebrew installieren nvm:

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

    Fügen Sie den letzten Befehl der Datei .profile, .bashrc oder .zshrc hinzu, um ihn nicht bei jedem Terminalstart erneut auszuführen. Zum Beispiel, um es dem .profile-Lauf hinzuzufügen:

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

    Wenn Sie Probleme bei der Installation von nvm mit brew haben, können Sie sie manuell installieren (siehe hier )

  2. Verwenden Sie nvm install node oder iojs (Sie können jede Version installieren, die Sie möchten):

    nvm install 0.10
    # or
    nvm install iojs-1.2.0
    
  3. npm wird mit node (oder iojs) ausgeliefert, ist also nach der Installation von node (oder iojs) verfügbar. Möglicherweise möchten Sie es auf die neueste Version aktualisieren:

    $ npm install -g [email protected]
    

    UPD Vorherige Version war npm update -g npm. Vielen Dank an @Metallica für den Hinweis auf den richtigen Weg (siehe Kommentar unten).

  4. npm installieren ionic:

    npm install -g ionic
    
  5. Was ist mit ngCordova: Sie können es mit npm oder bower installieren. Ich weiß nicht, welche Variante für Sie am besten geeignet ist. Sie hängt von dem Paketmanager ab, den Sie für die Clientseite verwenden möchten. Also werde ich sie beide beschreiben:

    1. Using npm: Gehen Sie zu Ihrem Projektordner und installieren Sie ng-cordova darin:

      npm install --save ng-cordova
      
    2. Using bower: Installiere Bower:

       npm install -g bower
      

      Gehen Sie dann in Ihren Projektordner und installieren Sie ngCordova darin:

       bower install --save ngCordova
      

PS

  1. Für einige Befehle kann ein Superuser-Privileg erforderlich sein
  2. Kurze Variante von npm install some_module ist npm i some_module
246
alexpods

2018 Version

In den meisten Antworten wird empfohlen, nvm zu installieren: Homebrew 

TU das nicht

Auf Github Page für nvm heißt es eindeutig:

Homebrew-Installation wird nicht unterstützt. Wenn Sie Probleme mit .__ haben. Bei einem von Homebrew installierten NVM, deinstallieren Sie es bitte und installieren Sie es mit die nachstehenden Anweisungen, bevor Sie ein Problem einreichen.

Verwenden Sie stattdessen die folgende Methode

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

Das Skript kopiert das NVM-Repository in ~/.nvm und fügt die Quellzeile Ihrem Profil hinzu (~/.bash_profile, ~/.zshrc, ~/.profile oder ~/.bashrc).

Verwenden Sie dann nvm, um den Knoten zu installieren. So installieren Sie beispielsweise die neueste LTS-Version:

nvm install v8.11.1

Sauber und problemlos. Es würde dies auch als Ihre Standardknotenversion kennzeichnen

11

Ich verwende n (Node Versionsverwaltung)

Sie können es auf zwei Arten installieren

brew install n

oder

npm install -g n

Sie können zwischen verschiedenen Versionen von Knoten und IO wechseln. Hier ist ein Beispiel aus meiner aktuellen Umgebung, wenn ich n ohne Params anrufe: 

$ n

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

Ich bin sehr spät dran, aber die anderen Antworten gefielen mir nicht

Homebrew installieren

Zum Brühen ausführen 

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

Knoten & npm werden installiert

Sie SOLLTE NICHT verwenden brew, um node und npm zu installieren. 

Ich habe einige Stellen gesehen, in denen vorgeschlagen wurde, dass Sie Homebrew verwenden sollten, um Node zu installieren (wie alexpods answer und in diesem Team Treehouse-Blogpost ). Wenn Sie auf diese Weise installieren, sind Sie jedoch anfälliger für Probleme, als npm und brew Sowohl package Manager als auch Sie sollten über einen package manager verfügen, der einen anderen package manager verwaltet. Dies führt zu Problemen, wie z. B. diesem Bug-Offiziellen npm issues Fehler: Ablehnung des Löschvorgangs:/usr/local/bin/npm oder this Das npm-Modul kann unter OSX nicht deinstalliert werden

Weitere Informationen zum Thema finden Sie in DanHerberts Beitrag Fixing npm unter Mac OS X für Homebrew-Benutzer , wo er weiter sagt

Bei der Homebrew-Installation von npm müssen Sie Sudo verwenden, wenn Sie globale Pakete installieren. Da eine der Kernideen von Homebrew ist, dass Apps ohne Rootzugriff installiert werden können, ist dies keine gute Idee.

Für alles andere

Ich würde npm verwenden. Sie sollten jedoch nur die Installationsanweisungen für die einzelnen Module befolgen, indem Sie den Anweisungen auf der Website der jeweiligen Website folgen, da diese Probleme und Fehler besser kennen als andere Benutzer

7
garrettmac

Wenn Sie den Knoten zuvor mit brew installiert haben, haben Sie eine Reihe zusätzlicher Dateien, die Sie bereinigen sollten, bevor Sie den Knoten "auf die richtige Art" installieren. Außerdem musste ich meinem Startskript einige Einstellungen hinzufügen, damit alles reibungslos funktioniert.

Ich habe ein Skript geschrieben, um das einfach zu machen.

# 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 [email protected]'
npm install -g [email protected]
{ 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"

Ich schrieb einen kurzen Artikel hier , der ausführlich beschreibt, warum dies "der richtige Weg" ist.

Wenn Sie Iojs installieren müssen, verwenden Sie nvm wie folgt:

nvm install iojs-v1.7.1

Um Brew zu installieren, siehe einfach seine Homepage .

Sehen Sie Alexpods Antwort für den Rest.

5
l3x

Ich stimme mit noa überein - wenn Sie mehrere Versionen von node, io.js benötigen, ist brew nicht die geeignete Lösung.

Sie können dem Beta-Test io.js in nvm helfen: https://github.com/creationix/nvm/pull/616

Wenn Sie nur io.js wünschen und keine Versionen wechseln, können Sie die Binärdistribution von io.js von https://iojs.org/dist/v1.0.2/iojs-v1.0.2-darwin-x64.tar.gz installieren ; Dazu gehört npm und Sie werden nvm nicht benötigen, wenn Sie die Version nicht wechseln.

Denken Sie daran, nach der Installation npm zu aktualisieren: Sudo npm install -g [email protected]

4
Sam Mikes

Sie sollten node.js mit nvm installieren, da Sie bei der Installation globaler Pakete keine Superuser-Privilegien angeben müssen (Sie können einfach "npm install -g packagename" ausführen, ohne "Sudo" voranzustellen).

Brew ist jedoch fantastisch für andere Dinge. Ich neige dazu, Bower zu voreingenommen zu sein, wenn ich die Möglichkeit habe, etwas mit Bower zu installieren.

4
Rajan Patel

Folgendes mache ich:

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

Kein Homebrew für diesen.

nvm unterstützt bald io.js, jedoch nicht zum Zeitpunkt der Veröffentlichung: https://github.com/creationix/nvm/issues/590

Dann installieren Sie alles andere pro Projekt mit einem package.json und npm install.

3
paulmelnikow

Für die Installation mit zsh und Homebrew:

brew install nvm

Fügen Sie dann ~/.zshrc oder die gewünschte Shell. Konfigurationsdatei:

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

Installieren Sie dann eine Knotenversion und verwenden Sie sie.

nvm install 7.10.1
nvm use 7.10.1
0
David Dehghan