web-dev-qa-db-fra.com

Homebrew installe NVM mais NVM ne peut plus être trouvé après?

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 ...

enter image description here

enter image description here

46
Dayan

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. 

75
Doon

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.

  1. Exécuter brew install nvm
  2. Suivez les avertissements indiqués dans la console, les miens sont les suivants, le vôtre PEUT être différent!:

Ajoutez ce qui suit à ~/.bash_profile ou à votre shell souhaité fichier de configuration:

export NVM_DIR="$HOME/.nvm"
. "$(brew --prefix nvm)/nvm.sh"
  1. Exécutez . ~/.bash_profile pour appliquer les modifications apportées à votre fichier .bash_profile.
26
redfox05

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:

  1. $ brew uninstall nvm
  2. $ brew cleanup (juste pour faire bonne mesure)
  3. $ curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.34.0/install.sh | bash
  4. 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=~/.nvmsource ~/.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 returnnvm`

  5. Maintenant, mettez à jour Node.js avec $ nvm install --lts

  6. Mise à jour de npm: $ nvm install-latest-npm
  7. $ npm install --global mocha. Enfin, le succès! Eh bien, pour moi et j'espère pour vous aussi.
1
Elise van Looij

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

source: https://github.com/creationix/nvm

0
DarkPurple141

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

  1. nano ~/.zshrc
  2. Ajouter cette ligne source $(brew --prefix nvm)/nvm.sh
0
Ricky Dam

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
0
Saurabh Hirani

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
0
Lindoélio Lázaro