356 votes

Comment puis-je rétrograder un nœud ou installer une version antérieure spécifique en utilisant homebrew ?

J'utilise Brew. J'ai installé node, en utilisant brew. Je veux utiliser une version antérieure de node.

En ligne, je trouve des instructions comme , par exemple :

cd /usr/local/Library/Formula
brew remove node --force
brew versions node
git checkout 83988e4 /usr/local/Library/Formula/node.rb
brew install node

Le problème que j'ai avec ça est que brew ne semble pas avoir de versions sous-commande :

$ brew versions node
Error: Unknown command: versions
$ brew --version
0.9.5

Je suis nouveau dans la brasserie. Dois-je activer la fonction versions sous-commande en quelque sorte ? Dois-je utiliser une autre sous-commande à la place ? Y a-t-il une méthode complètement différente que je devrais essayer ?

J'utilise OS X Yosemite (10.10.1) ; brew 0.9.5.

0 votes

Quelle version de node.js cherchez-vous à installer ?

0 votes

Mon patron me dit 10.32. Je suppose qu'il veut dire 0.10.32. J'ai la 0.12.0 installée en ce moment.

0 votes

A cette date, le lecteur devrait se rendre à cette réponse : stackoverflow.com/a/4158763/48136

595voto

Nathan Points 3790

De nos jours, si vous voulez installer une autre version de node vous le faites de cette façon :

Recherchez d'abord le paquet que vous souhaitez :

brew search node

Cela pourrait vous donner les résultats suivants :

heroku/brew/heroku-node 
node 
node@10
node_exporter
nodenv
libbitcoin-node
node-build
node@12 
node@14 
...

Et ensuite, installez la version souhaitée :

brew install node@14

Rappelez-vous également que vous pouvez installer plus d'un paquet de nœuds en même temps, mais que vous ne pouvez pas les rendre disponibles en même temps. Donc, si vous avez le dernier paquet générique node déjà installé, vous devez d'abord le délier :

brew unlink node

Et ensuite vous pouvez lier une version différente :

brew link node@14

Parfois, il peut être nécessaire de les relier à l' --force y --overwrite options :

brew link --force --overwrite node@14

Cependant, lorsque de nouvelles node et vous la mettrez à jour en exécutant la procédure suivante brew upgrade le lien sera supprimé et la version la plus récente de l'article. node sera liée à la place. Pour remédier à cela, vous pouvez envisager d'ajouter votre node version à PATH à la place :

echo 'export PATH="/usr/local/opt/node@14/bin:$PATH"' >> ~/.zshrc

(remplacez .zshrc par .bashrc ou similaire, en fonction de la version de l'annuaire de l'entreprise). $SHELL que vous utilisez)

22 votes

La meilleure réponse ici.

0 votes

Cela m'a été très utile lorsque j'ai essayé de rétrograder vers la 0.12.10 afin d'installer bufferutil correctement. Merci !

4 votes

Notez que vous pouvez être invité à "délier" une version existante de node avant de pouvoir installer avec succès l'une des autres versions listées (selon les instructions ci-dessus). En "déliant", vous laissez l'autre version physiquement installée sur votre système, mais celle que vous installez (après la déliaison) deviendra la version "par défaut" sur votre système. Par exemple, vous pourriez avoir à taper brew unlink node si vous aviez installé brew install node . Ensuite, vous pourriez faire brew install homebrew/versions/node4-lts (que vous devriez voir comme une version listée selon les instructions de cette réponse).

71voto

katopz Points 699

Voici l'étape par étape.

Pour voir la version actuelle de votre nœud

$ node --version

Pour voir les versions de nœuds disponibles

$ brew search node

Pour supprimer le lien avec la version actuelle

$ brew unlink node

Installez n'importe quelle version, par exemple la 8

$ brew install node@8

Pour lier la version installée

$ brew link node@8

Pour voir la version actuelle de votre nœud (à nouveau)

$ node --version

0 votes

Juste ce dont j'avais besoin

0 votes

Comment résoudre ce problème ? brew link node@10 Avertissement : node@10 est un keg-only et doit être lié avec --force Si vous avez besoin d'avoir ce logiciel en premier dans votre PATH, pensez à exécuter : echo 'export PATH="/usr/local/opt/node@10/bin:$PATH"''. >> ~/.bash_profile

0 votes

N'a pas fonctionné sur Mac OS 10.13.5, obtenant une erreur stackoverflow.com/questions/53043476/

18voto

John Points 281

A partir de ce PR vers homebrew/versions y ce PR pour homebrew les réponses impliquant brew tap homebrew/versions ou *-lts ne fonctionnent plus.

La réponse correcte est maintenant :

brew install node@<version>

<version> est 0.10 , 0.12 , 4 etc. Par exemple, pour installer Node.js v6 (à ce jour, la version LTS la plus récente) :

brew install node@6

Vous devrez peut-être exécuter brew update avant ces commandes pour s'assurer que ces nouvelles formules versionnées sont disponibles. Si vous avez une autre version de la node installée, vous devrez également exécuter la formule suivante brew unlink node d'abord.

4 votes

Ne fonctionnait pas avec Mac OS 10.13.5 stackoverflow.com/questions/53043476/

11voto

dave4420 Points 3449

brew versions doit être installé à un moment donné après que vous ayez installé brew .

$ brew tap homebrew/boneyard

Vous pouvez alors utiliser le brew versions comme le supposent les instructions.

4 votes

homebrew/boneyard est dépassé et va être remplacé par github.com/Homebrew/homebrew-versions à partir de mars 2015. Installer via brew tap homebrew/versions .

12 votes

Avec homebrew/versions vous obtiendrez le nom de la version du paquet : brew search node => leafnode node node010 node04 node06 node08 nodebrew ... . Alors faites brew install node010 suivi par brew link --overwrite node010 pour installer la version 0.10 de Node.JS.

3 votes

Vous pouvez également avoir besoin de brew unlink node avant que vous brew install node010

10voto

kalaxy Points 561

Pour info, si vous aviez précédemment l'ancienne version installée et que vous n'avez pas exécuté brew cleanup (qui supprime les anciennes versions), vous pouvez changer avec quelque chose comme brew switch node 5.7.0

Toutes les versions installées de node peuvent être listées en exécutant brew info node ou ls -l /usr/local/Cellar/node/

Voir l'aide-mémoire de la commande Brew : http://ricostacruz.com/cheatsheets/homebrew.html

0 votes

Fonctionne à partir de 2017/12 ! Homebrew 1.4.0-17-gc912d26

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X