Ich verwende homebrew
und oh-my-zsh
bei einer neuen Installation von OSX 10.10.1. Ich habe nvm
über homebrew
bekommen und dann versucht, es auszuführen, aber sagt - zsh: Befehl nicht gefunden: nvm
Irgendeine Idee was das Problem ist? Ich konnte git einfach installieren und verwenden ...
Haben Sie die Anweisungen in den Vorbehalten befolgt?
[~] brew info nvm
nvm: stable 0.20.0, HEAD
https://github.com/creationix/nvm
Not installed
From: https://github.com/Homebrew/homebrew/blob/master/Library/Formula/nvm.rb
==> Caveats
Add the following to $HOME/.bashrc, $HOME/.zshrc, or your Shell's
equivalent configuration file:
source $(brew --prefix nvm)/nvm.sh
Node installs will be lost upon upgrading nvm. Add the following above
the source line to move install location and prevent this:
export NVM_DIR=~/.nvm
Ohne die zusätzliche Konfiguration sieht es nicht so aus, als würde es NVM standardmäßig finden.
Es gibt ZWEI Dinge, die Sie tun müssen. Befolgen Sie die nach der Installation von nvm via Brew angezeigten Vorbehalte. DANN müssen Sie die Änderungen von .bash_profile aktivieren/neu laden.
brew install nvm
ausführenFügen Sie ~/.bash_profile oder Ihre gewünschte Shell ein Konfigurationsdatei:
export NVM_DIR="$HOME/.nvm" . "$(brew --prefix nvm)/nvm.sh"
. ~/.bash_profile
aus, um die von Ihnen vorgenommenen Änderungen in Ihre .bash_profile-Datei zu übernehmenIch habe ein paar Stunden damit verbracht, mich mit diesem Thema auseinanderzusetzen, bin aber zu dem Schluss gekommen, dass DarkPurple141 richtig ist: nvm ist einfach nicht mit Homebrew kompatibel, wie sie auf ihrem Github angeben nvm- sh/nvm Node Version Manager . Homebrew wird nvm installieren und alles sieht gut aus, bis man versucht, npm zu bekommen, um ein Modul zu installieren, in meinem Fall Mocha. Das warf mich gleich wieder auf den gefürchteten Irrtum:
ERR! Fehler: EACCES: Berechtigung verweigert, Zugriff auf '/ usr/local/lib/node_modules'
Die Lösung unter MacOS 10.14 Mojave war:
brew uninstall nvm
_brew cleanup
_ (nur aus gutem Grund)curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.34.0/install.sh | bash
_Überprüfen Sie, ob nvm korrekt installiert wurde, indem Sie $ _command -v nvm
_ ausführen.
4.a Wenn die Antwort nicht $ nvm
ist, fügen Sie der Datei ~/.bash-profile die folgenden zwei Zeilen hinzu: _export NVM_DIR=~/.nvm
_ _source ~/.nvm/nvm.sh
_ 4.b Starten Sie Ihren Computer neu (Sie) kann versuchen, Terminal zu schließen und es zuerst neu zu starten) 4.c $ _command -v nvm should now return
_ nvm`
Aktualisiere nun Node.js mit $ _nvm install --lts
_
nvm install-latest-npm
_npm install --global mocha
_. Endlich Erfolg! Nun, für mich und ich hoffe auch für dich.Obwohl die akzeptierte Antwort technisch funktioniert, ist zu beachten, dass die Installation von Homebrew nicht offiziell vom nvm
-Paket unterstützt wird. Um Probleme wie die oben genannten zu vermeiden, sollten Sie eine der folgenden Installationsmethoden anwenden.
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.34.0/install.sh | bash
# or wget:
wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.34.0/install.sh | bash
Um nvm zu installieren, brew install nvm
Um nvm nach der Installation oder nur einmal auszuführen, $(brew --prefix nvm)/nvm.sh
Um nvm jedes Mal auszuführen, wird zsh
geöffnet
nano ~/.zshrc
source $(brew --prefix nvm)/nvm.sh
Möglicherweise müssen Sie Ihre bash-Profile oder andere bash-Dateien erneut laden, weil der Befehl nvm möglicherweise kein Programm ist, sondern eine Funktion, die definiert ist und nur verwendet werden kann, wenn die entsprechende bash-Datei als Quelle verwendet wird.
Auf einem System, das ich überprüft habe
which nvm
klappt aber nicht
nvm list
tut. Das bedeutet, dass Sie das Wort "nvm" verwenden können, um etwas aufzurufen. Dieses Etwas ist kein Programm. Im aktuellen Fall ist dies eine Funktion, die mit verifiziert werden kann
typeset -F | grep -P ' nvm$'
welche Ausgänge
declare -F nvm
was bedeutet, dass nvm eine Funktion ist, deren Körper durch Tun überprüft werden kann
type -F nvm
Wenn brew
verwendet wurde, besteht die Möglichkeit, dass die nvm
nicht verbunden ist, insbesondere wenn sie von einem anderen MAC OS-Benutzer installiert wurde.
In diesem Fall führen Sie Folgendes aus:
brew link nvm