J'utilise homebrew
et oh-my-zsh
sur une nouvelle installation OSX 10.10.1. J'ai reçu nvm
via homebrew
, puis j'ai essayé de l'exécuter mais j'ai dit - zsh: commande introuvable: nvm
Une idée du problème? J'ai pu installer et utiliser git très bien ...
Avez-vous suivi les instructions énumérées dans les mises en garde?
[~] 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
Sans la configuration supplémentaire, il ne semble pas qu'il trouvera la NVM par défaut.
Il y a DEUX choses que vous devez faire. Suivez les mises en garde indiquées après l'installation de nvm via brew et ALORS vous devez activer/recharger les modifications .bash_profile.
brew install nvm
Ajoutez ce qui suit à ~/.bash_profile ou à votre shell souhaité fichier de configuration:
export NVM_DIR="$HOME/.nvm" . "$(brew --prefix nvm)/nvm.sh"
. ~/.bash_profile
pour appliquer les modifications apportées à votre fichier .bash_profile.J'ai passé quelques heures à tourner en rond sur cette question, mais je suis parvenu à la conclusion que DarkPurple141 est juste: nvm n'est tout simplement pas compatible avec Homebrew, comme ils l'indiquent sur leur Github nvm- sh/nvm Node Gestionnaire de versions . Homebrew va installer nvm et tout va bien, jusqu'à ce que l'on essaie d'obtenir npm pour installer un module, Mocha dans mon cas. Cela m'a renvoyé à l'erreur redoutée:
SE TROMPER! Erreur: EACCES: autorisation refusée, accédez à '/ usr/local/lib/node_modules'
La solution, sur MacOS 10.14 Mojave, était la suivante:
brew uninstall nvm
brew cleanup
(juste pour faire bonne mesure)curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.34.0/install.sh | bash
Vérifiez que nvm a été installé correctement en exécutant $ command -v nvm
.
4.a Si la réponse est autre que $ nvm
, ajoutez les deux lignes suivantes au fichier ~/.bash-profile: export NVM_DIR=~/.nvm
source ~/.nvm/nvm.sh
4.b Redémarrez votre ordinateur (vous peut essayer de fermer Terminal et de le redémarrer d’abord) 4.c $ command -v nvm should now return
nvm`
Maintenant, mettez à jour Node.js avec $ nvm install --lts
nvm install-latest-npm
npm install --global mocha
. Enfin, le succès! Eh bien, pour moi et j'espère pour vous aussi.Bien que la réponse acceptée fonctionne techniquement, il convient de noter que l'installation de Homebrew n'est pas officiellement prise en charge par le package nvm
. Le moyen recommandé d'éviter les problèmes tels que ceux évoqués ci-dessus consiste à appliquer l'une des méthodes d'installation décrites ci-dessous.
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
Pour installer nvm, brew install nvm
Pour exécuter nvm après l’installation ou juste une fois, $(brew --prefix nvm)/nvm.sh
Pour exécuter nvm everytime zsh
, ouvrez
nano ~/.zshrc
source $(brew --prefix nvm)/nvm.sh
La raison pour laquelle vous auriez besoin de recharger vos profils bash ou tout autre fichier bash peut être parce que la commande nvm peut ne pas être un programme mais une fonction définie et pouvant uniquement être utilisée si le fichier bash correspondant est créé.
Sur un système que j'ai vérifié
which nvm
ne fonctionne pas mais
nvm list
est-ce que. Cela signifie que vous pouvez utiliser le mot "nvm" pour appeler quelque chose. Ce quelque chose n'est pas un programme. Dans le cas présent, c’est une fonction qui peut être vérifiée par
typeset -F | grep -P ' nvm$'
qui sort
declare -F nvm
ce qui signifie que nvm est une fonction dont le corps peut être inspecté en faisant
type -F nvm
Une possibilité, si brew
a été utilisée, est que la nvm
puisse être non liée, notamment si elle a été installée par un autre utilisateur de MAC OS.
Dans ce cas, exécutez:
brew link nvm