La dernière version de NodeJs est actuellement la 0.4.1.
La commande brew install node
installe maintenant 0.2.6 - ce qui n’est pas idéal. Je voudrais 0.4.1
J'ai regardé cette liste de commandes pour brasser et essayé brew install --HEAD node
Mais cela installe le noeud 0.5-pre.
Pourquoi Brew n'installe-t-il pas la bonne version et comment puis-je le forcer à en obtenir la bonne?
À ce stade, il semble qu’il serait en fait plus simple de télécharger le fichier src et de l’installer manuellement. Mais j'aimerais savoir ce qui se passe avec Brew.
Avez-vous exécuté brew update
en premier? Si vous ne le faites pas, Homebrew ne pourra pas mettre à jour ses formules et s'il ne mettra pas à jour ses formules, il ne saura pas comment installer les dernières versions du logiciel.
Exécutez les commandes ci-dessous, dans cet ordre:
brew update
brew doctor
brew upgrade node
Vous avez maintenant installé la version mise à jour du noeud, qui n'est probablement pas liée. Si ce n'est pas le cas, tapez simplement: brew link node
ou brew link --overwrite node
Après l'installation/la mise à niveau du noeud via brew, j'ai rencontré ce problème exactement: la commande node fonctionnait, mais pas la commande npm.
J'ai utilisé ces commandes pour le réparer.
brew uninstall node
brew update
brew upgrade
brew cleanup
brew install node
Sudo chown -R $(whoami) /usr/local
brew link --overwrite node
brew postinstall node
J'ai reconstitué cette solution après essais et erreurs en utilisant ...
un fil de discussion github: https://github.com/npm/npm/issues/3125
ce site: http://developpeers.com/blogs/fix-for-homebrew-permission-denied-issues
Parfois, brew update
échoue sur moi car un package ne se télécharge pas correctement. Vous pouvez donc simplement mettre à niveau une bibliothèque spécifique comme celle-ci:
brew upgrade node
Je devais faire brew link --overwrite node
après brew install node
pour mettre à jour de 0.4 à 0.8.18
Essayez d'utiliser "n" le gestionnaire de paquets Node extrêmement simple.
> npm install -g n
Une fois que vous avez "n" installé. Vous pouvez extraire le dernier noeud en procédant comme suit:
> n latest
Je l'ai utilisé avec succès sur Ubuntu 16.0x et MacOS 10.12 (Sierra)
Référence: https://github.com/tj/n
Essayez également de désactiver la version actuelle du nœud après avoir installé une nouvelle version. Ça m'aide.
nvm deactivate
Ceci est supprimé/Utilisateurs/nom_utilisateur/.nvm/*/bin de $ PATH
Et après la mise à jour de ce noeud
node --version
v10.9.0
Vient d’utiliser cette solution avec Homebrew 0.9.5 et cela semblait une solution rapide pour passer à la dernière version stable du noeud.
brew update
Cela installera la dernière version
brew install node
Dissociez votre version actuelle du noeud, noeud -v, pour le trouver
brew unlink node012
Cela passera à la version la plus récente du nœud.
brew link node
Remarque: cette solution a fonctionné parce que j'ai eu cette erreur:
Erreur: Aucun de ces fûts:/usr/local/Cellar/node
Vous pouvez utiliser nodebrew . Il peut aussi changer de version de noeud.
Si vous avez installé le noeud actuel via Homebrew
, utilisez simplement ces commandes.
brew update
brew upgrade node
Vérifier la version du noeud par
node -v
Si vous êtes prêt à supprimer la dépendance brew
, je recommanderais nvm - je ne peux pas vraiment la recommander par rapport à une autre solution de contrôle de version car je n'ai pas eu besoin d'essayer autre chose. Avoir la possibilité de basculer instantanément d'une version à l'autre en fonction du projet sur lequel vous travaillez est très utile.
Il suffit d'aller vieux skool - https://nodejs.org/en/download/current/ De là, vous pouvez obtenir les versions actuelles ou LTS
Je l'ai fait sur Mac OSX Sierra. J'avais le noeud 6.1 installé, mais Puppetter avait besoin du noeud 6.4. C'est ce que j'ai fait:
brew upgrade node
brew unlink node
brew link --overwrite node@8
echo 'export PATH="/usr/local/opt/node@8/bin:$PATH"' >> ~/.bash_profile
Puis ouvrez une nouvelle fenêtre de terminal et exécutez:
node -v
v8.11.2
--Overwrite est nécessaire pour écraser les fichiers en conflit entre node6 et node8