Comment installer une version spécifique d'une formule en homebrew? Par exemple, postgresql-8.4.4 au lieu de la dernière version 9.0.
installation
versioning
homebrew
Gravis
la source
la source
postgresql
est étrange car il y avait des versions séparées dans Homebrew à un moment donné, quelque chose commebash
pourrait être un meilleur exemple car il est passé de 4.x à 5.x dans le même nom de formule. Voir stackoverflow.com/a/55764594/3794873Réponses:
TLDR:
brew install [email protected]
Voir la réponse ci-dessous pour plus de détails.* ( J'ai réédité ma réponse pour donner un flux de travail plus complet pour l'installation / l'utilisation d'anciennes versions de logiciels avec homebrew. N'hésitez pas à ajouter une note si vous avez trouvé l'ancienne version meilleure. )
Commençons par le cas le plus simple:
1) Vérifiez si la version est déjà installée (mais pas activée)
Lorsque homebrew installe une nouvelle formule, il la place dans un répertoire versionné comme
/usr/local/Cellar/postgresql/9.3.1
. Seuls les liens symboliques vers ce dossier sont ensuite installés globalement. En principe, cela facilite le basculement entre deux versions installées. (*)Si vous utilisez homebrew depuis plus longtemps et que vous n'avez jamais supprimé d'anciennes versions (en utilisant, par exemple
brew cleanup
), il est probable qu'une ancienne version de votre programme existe toujours. Si vous souhaitez simplement activer cette version précédente,brew switch
c'est le moyen le plus simple de le faire.Vérifiez avec
brew info postgresql
(oubrew switch postgresql <TAB>
) si l'ancienne version est installée:Nous voyons qu'une ancienne version est déjà installée. Nous pouvons l'activer en utilisant
brew switch
:Vérifions à nouveau ce qui est activé:
Notez que l'étoile
*
est passée à la nouvelle version activée(*) Veuillez noter que cela
brew switch
ne fonctionne que tant que toutes les dépendances de l'ancienne version sont toujours présentes. Dans certains cas, une reconstruction de l'ancienne version peut s'avérer nécessaire. Par conséquent, l'utilisationbrew switch
est surtout utile lorsque l'on veut basculer entre deux versions pas trop éloignées.2) Vérifiez si la version est disponible sous forme de robinet
Surtout pour les grands projets logiciels, il est très probable qu'il existe une demande suffisamment élevée pour plusieurs versions majeures (potentiellement incompatibles avec les API) d'un certain logiciel. Depuis mars 2012, Homebrew 0.9 fournit un mécanisme pour cela:
brew tap
& le référentiel des versions homebrew .Ce référentiel de versions peut inclure des rétroportages d'anciennes versions pour plusieurs formules. (Surtout que les grands et célèbres, mais bien sûr, ils auront également plusieurs formules pour postgresql.)
brew search postgresql
vous montrera où chercher:Nous pouvons simplement l'installer en tapant
Notez que cela a automatiquement touché le
homebrew/versions
robinet. (Vérifiez avecbrew tap
, supprimez avecbrew untap homebrew/versions
.) Les éléments suivants auraient été équivalents:Tant que les formules de la version rétroportée restent à jour, cette approche est probablement la meilleure façon de gérer les logiciels plus anciens.
3) Essayez une formule du passé
Les approches suivantes sont répertoriées principalement pour être complètes. Les deux essaient de ressusciter une formule de morts-vivants du référentiel de brassage. En raison de modifications des dépendances, des modifications de l'API dans la spécification de formule ou simplement d'un changement dans l'URL de téléchargement, les choses peuvent ou non fonctionner.
Étant donné que le répertoire de formule entier est un référentiel git, on peut installer des versions spécifiques en utilisant des commandes git simples. Cependant, nous devons trouver un moyen d'accéder à un commit où l'ancienne version était disponible.
a) les temps historiques
Entre août 2011 et octobre 2014 , homebrew avait une
brew versions
commande, qui crachait toutes les versions disponibles avec leurs hachages SHA respectifs. Depuis octobre 2014, vous devez effectuer une opérationbrew tap homebrew/boneyard
avant de pouvoir l'utiliser. Comme le nom du robinet l'indique, vous ne devriez probablement le faire qu'en dernier recours.Par exemple
Comme vous pouvez le voir, il déconseille de l'utiliser. Homebrew crache toutes les versions qu'il peut trouver avec son heuristique interne et vous montre un moyen de récupérer les anciennes formules. Essayons.
Maintenant que l'ancienne version postgresql est installée, nous pouvons réinstaller la dernière formule afin de garder notre référentiel propre:
brew switch
est votre ami pour passer de l'ancien au nouveau.b) les temps préhistoriques
Pour les besoins spéciaux, nous pouvons également essayer notre propre fouille dans le repo homebrew.
git log -S
recherche toutes les validations dans lesquelles la chaîne a'8.4.4'
été ajoutée ou supprimée dans le fichierLibrary/Taps/homebrew/homebrew-core/Formula/postgresql.rb
. Nous obtenons deux commits en conséquence.Évidemment,
fa992c6a82eebdc4cc36a0c0d2837f4c02f3f422
c'est le commit qui nous intéresse. Comme ce commit est assez ancien, nous essaierons de rétrograder l'installation complète de homebrew (de cette façon, l'API de formule est plus ou moins garantie d'être valide):Vous pouvez ignorer la dernière commande pour conserver la référence dans votre référentiel git.
Une remarque: lorsque vous extrayez l'ancien commit, vous rétrogradez temporairement votre installation homebrew. Donc, vous devez être prudent car certaines commandes en homebrew peuvent être différentes de la version la plus récente.
4) Écrivez manuellement une formule
Ce n'est pas trop difficile et vous pouvez ensuite le télécharger dans votre propre référentiel. Auparavant, Homebrew-Versions , mais qui est maintenant abandonné.
A.) Bonus: épinglage
Si vous souhaitez conserver une certaine version de, disons postgresql, et l'empêcher d'être mise à jour lorsque vous effectuez la
brew update; brew upgrade
procédure naturelle , vous pouvez épingler une formule:Les formules épinglées sont répertoriées dans
/usr/local/Library/PinnedKegs/
et une fois que vous souhaitez apporter les dernières modifications et mises à jour, vous pouvez à nouveau les annuler :la source
git checkout fa992 -- Library/Formula/postgresql.rb
. Lorsque vous avez terminé, vous pouvez annuler les modifications apportées à la formule à l'aide degit revert HEAD Library/Formula/postgresql.rb && git checkout -- Library/Formula/postgresql.rb
.brew update
établir son référentiel Git.cd $(brew --repository)/Library/Taps/homebrew/homebrew-core
, alors vous pouvez utilisergit checkout 4cce79d -- Formula/go.rb
etHOMEBREW_NO_AUTO_UPDATE=1 brew install go
.Workflow simple
Maintenant que Homebrew / versions est déconseillé, Homebrew / core prend en charge plusieurs versions de formules avec un nouveau format de dénomination.
Pour installer une version spécifique, par exemple postgresql 9.5, vous exécutez simplement:
Pour répertorier les versions disponibles, lancez une recherche avec @:
la source
fatal: Not a git repository (or any of the parent directories): .git
. Je vienscd
dans le répertoire à la place (sans le FORMULANAME.rb), puis fais legit checkout 120938
cd /usr/local
abord.brew unlink FORMULANAME
brew versions <formula>
n'est plus pris en charge.brew link --force [email protected]
. Si vous avez déjà installé une version plus récente et que vous souhaitez que l'ancienne version soit votre version par défaut, vous en aurez également besoin--overwrite
.Il existe désormais un moyen beaucoup plus simple d'installer une ancienne version d'une formule que vous aviez précédemment installée. Utilisez simplement
Par exemple, j'alterne régulièrement entre Node.js 0.4.12 et 0.6.5:
Depuis
brew switch
suffit de modifier les liens symboliques, c'est très rapide. Voir la documentation supplémentaire sur le Homebrew Wiki sous Commandes externes .la source
brew switch
repose sur la version recherchée déjà installée. Malheureusement, cependant, la réponse actuellement acceptée est incroyablement inutile, compliquée et obsolète. Il y a de meilleures réponses ci-dessous qui sont beaucoup plus utiles.Mise à jour: 15/01/2015
brew install <url>
(peut devoir d'brew unlink
abord, par exemplebrew unlink docker
)brew switch docker 1.3.3
brew switch docker 1.4.1
De cet essentiel
la source
brew install <url>
,brew unlink <formulaname>
. Sinon, c'est la manière la plus simple et la plus concise (jusqu'à présent) de passer à une version spécifique d'une formule.Raw
bouton sur quel fichier?!brew log <formula>
Dans la lignée de la suggestion de @ halfcube, cela fonctionne très bien:
brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/8cf29889111b44fd797c01db3cf406b0b14e858c/Formula/postgresql.rb
la source
package@version
git log master -- Formula/PACKAGENAME.rb
pour obtenir l'historique des validations, consultez le correct commit, puis exécutez-lebrew install Formula/PACKAGENAME.rb
pour l'installer.brew unlink
avantbrew install
d'une autre version.mxcl
?brew install https://github.com/Homebrew/homebrew-core/raw/afc10f17af8023906b87363a8340aeb62284329f/Formula/postgresql%409.6.rb
mais je reçois l'erreur, probablement en raison de la@
signature: desError: No available formula with the name "postgresql%409.6" In formula file: /Users/maciek/Library/Caches/Homebrew/Formula/postgresql%409.6.rb Expected to find class Postgresql%4096, but only found: PostgresqlAT96.
idées?J'ai découvert une meilleure solution alternative que les autres solutions complexes.
Cela va télécharger et installer PostgreSQL 8.4.8
J'ai trouvé cette solution en commençant à suivre les étapes de recherche du repo et un commentaire dans le repo.
Après un peu de recherche, on a découvert que quelqu'un avait une collection de formulaires rares à préparer.
Si vous cherchez MySQL 5.1.x, essayez ceci.
la source
brew install https://github.com/Homebrew/homebrew-versions/blob/master/node06.rb
semblait échouer avec des erreurs de syntaxe.raw
dans l'URLhomebrew-versions
est parti et tout est surcore
maintenant le cas général est:brew install https://raw.github.com/Homebrew/homebrew-core/<COMMIT>/Formula/<FORMULA>.rb
.COMMIT
peut être trouvé en allant sur github.com/Homebrew/homebrew-core/commits/master/Formula/… .Vous pouvez utiliser la stratégie d'identification de la formule et d'un commit particulier dans l'historique de la formule qui correspond à la version du package que vous souhaitez installer.
Accédez à https://github.com/Homebrew/homebrew-core
Appuyez
t
sur sur votre clavier pour activer la recherche de fichiers.Identifiez une formule qui semble la plus pertinente, peut-être
Formula/mysql.rb
:, vous amenant à un emplacement de fichier forumla: https://github.com/Homebrew/homebrew-core/blob/master/Formula/mysql.rb .Regardez l'historique des révisions en cliquant sur le
History
bouton, qui se trouve à https://github.com/Homebrew/homebrew-core/commits/master/Formula/mysql.rb . Si vous êtes intéressé par MySQL 5.7.10, vous voudrez peut-être cliquer sur la dernière révision antérieure à 5.7.11, qui accède à une validation GitHub:https://github.com/Homebrew/homebrew-core/commit/c77882756a832ac1d87e7396c114158e5619016c#Formula/mysql.rb
REMARQUE: vous devrez peut-être afficher l'historique des validations dans votre console selon la suggestion de GitHub si l'historique des validations ne se charge pas dans votre navigateur. Remplacez le SHA de validation ci-dessus dans l'URL si vous souhaitez voir ce commit sur GitHub. Vous pouvez également passer à l'étape 7 ci-dessous.
Cliquez sur le bouton "Afficher" pour afficher la source du fichier mysql.rb après l'application du commit.
Cliquez ensuite sur le bouton "Raw" pour afficher la source brute.
Copiez l'URL. Alternativement, créez vous-même l'URL avec le
mysql.rb
nom de fichier pour identifier votre formule et la version particulière de cette formule (identifiée par le commmit SHA dans l'URL ci-dessous).https://raw.githubusercontent.com/Homebrew/homebrew-core/c77882756a832ac1d87e7396c114158e5619016c/Formula/mysql.rb
Installez-le avec
$ brew install [URL from step 7]
REMARQUE: cette réponse a été mise à jour pour tenir compte de la suppression du site Web braumeister.org. Le même principe s'applique, braumeister avait simplement fourni un moyen convivial pour les débutants de naviguer dans les versions de formule.
la source
La plupart des autres réponses sont désormais obsolètes. Malheureusement, Homebrew n'a toujours pas de méthode intégrée pour installer une version obsolète, sauf si cette version existe sous une formule distincte (par exemple
python@2
,[email protected]
…).Heureusement, pour d'autres formules, il existe un moyen beaucoup plus facile que le désordre alambiqué qui était nécessaire auparavant. Voici les instructions complètes:
Recherchez la version correcte dans les journaux:
Cela affichera une liste de hachages de validation. Prenez celui qui est approprié (surtout il devrait être assez évident, et est généralement le plus récent (c'est-à-dire en haut).
Recherchez l'URL à laquelle réside la formule dans le référentiel en amont:
Fixez l'URL:
github.com
parraw.githubusercontent.com
blob/master
par le hachage de validation que nous avons trouvé à la première étape.Installez la version souhaitée en remplaçant
master
l'URL trouvée précédemment par le hachage de validation, par exemple:(La dernière étape peut nécessiter l'exécution
brew unlink ‹formula›
avant.)Si vous avez copié un hachage de validation que vous souhaitez utiliser, vous pouvez utiliser quelque chose comme cet exemple pour installer cette version, en remplaçant la valeur
bash
par votre hachage de validation et la formule souhaitée.Cet exemple installe bash 4.4.23 au lieu de bash 5, mais si vous effectuez
brew upgrade
ensuite un bash 5, il sera installé par-dessus, sauf si vous l'avez d'abord exécutébrew pin bash
. Au lieu de cela, pour rendre cela plus fluide SANS épinglage, vous devez d'abord installer la dernière avecbrew install bash
, puisbrew unlink bash
installer l'ancienne version souhaitée selon le script ci-dessus, puis utiliserbrew switch bash 4.4.23
pour configurer les liens symboliques vers l'ancienne version. Maintenant, celabrew upgrade
ne devrait pas affecter votre version de Bash. Vous pouvezbrew switch bash
obtenir une liste des versions disponibles pour basculer vers.Alternative utilisant un robinet local uniquement personnalisé
Un autre moyen d'atteindre le même objectif semble être:
Cela crée un
formula@version
dans votre robinet personnalisé que vous pouvez installer selon l'exemple ci-dessus. L'inconvénient est que vous avez probablement besoin encorebrew unlink bash
etbrew link [email protected]
afin d'utiliser votre version spécifique de Bash ou de toute autre formule.la source
brew log
que tout extra-F
ou--grep
option échoue pour moi.brew log
. Je ne peux pas être gêné d'écrire une nouvelle version maintenant car cela nécessite une analyse correcte du message du journal git, ou une exécutiongit log
directe sur le référentiel correspondant. Et le changelog ne semble même pas mentionner ce changement de rupture. Au-delà ennuyeux.External Command
pourrait être nécessaire de fonctionner dans la structure debrew
pour récupérer ce type degit log
filtrage. docs.brew.sh/External-Commandsbrew extract
utilisation, merci!Je viens d'utiliser Homebrew pour revenir à Maven 2.2.1 depuis le simple
brew install maven
Maven 3.0.3 installé.Vous devez d'abord y laisser le dir maven afin
Utilisez la commande brew tap
Vous pouvez maintenant installer la formule maven2:
Modifier: vous pouvez également simplement
brew switch maven 2.2.1
passer à une autre version.Edit: Le projet Apache Maven a réorganisé leur repo. Mise à jour de cette réponse pour tenir compte de ce changement.
la source
Sur la base du workflow décrit par @tschundeee et @ Debilski's update 1 , j'ai automatisé la procédure et ajouté le nettoyage dans ce script .
Téléchargez-le , mettez-le sur votre chemin et
brewv <formula_name> <wanted_version>
. Pour le PO spécifique, ce serait::)
la source
Une réponse mise à jour car cela s'ajoute à ce que @ lance-pollard a déjà publié comme réponse de travail.
Comment installer une version spécifique d'une formule (la formule utilisée dans cet exemple est
terraform
):git log master -- Formula/terraform.rb
si vous avez cloné le dépôt localement.brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/e4ca4d2c41d4c1412994f9f1cb14993be5b2c59a/Formula/terraform.rb
la source
Méthode officielle (à en juger par la réponse à https://github.com/Homebrew/brew/issues/6028 )
Malheureusement, Homebrew n'a toujours pas de méthode intégrée évidente pour installer une ancienne version.
Heureusement, pour la plupart des formules, il existe un moyen beaucoup plus facile que le désordre alambiqué qui était nécessaire auparavant. Voici les instructions complètes en utilisant
bash
comme exemple:Cela crée le
formula@version
dans votre robinet personnalisé que vous pouvez installer selon l'exemple ci-dessus. Une note importante est que vous devrez probablement le fairebrew unlink bash
si vous avez déjà installé la version par défaut / la plus récente de la formule, puisbrew link [email protected]
pour utiliser votre version spécifique de Bash (ou toute autre formule sur laquelle vous avez installé la dernière et une ancienne version).Un inconvénient potentiel de cette méthode est que vous ne pouvez pas facilement basculer entre les versions, car selon
brew
elle, c'est une "formule différente".Si vous voulez pouvoir utiliser,
brew switch $FORMULA $VERSION
vous devez utiliser la méthode suivante.Méthode scriptée (recommandée)
Cet exemple montre l'installation de l'ancien bash 4.4.23, un exemple utile puisque la
bash
formule installe actuellement bash 5.brew install bash
brew unlink bash
brew switch bash 4.4.23
pour configurer les liens symboliques vers votre versionSi vous avez effectué une
brew upgrade
après l'installation d'une ancienne version sans installer la dernière en premier, alors la dernière serait installée en détrônant votre ancienne version, à moins que vous ne l'ayez d'abord exécutéebrew pin bash
.Les étapes ici ÉVITER l'épinglage, car il est facile d'oublier et vous pourriez épingler à une version qui ne sera pas sécurisée à l'avenir (voir Shellshock / etc). Avec cette configuration, un
brew upgrade
ne devrait pas affecter votre version de Bash et vous pouvez toujours exécuterbrew switch bash
pour obtenir une liste des versions disponibles pour basculer.Copiez et collez et modifiez les
export
lignes de l'extrait de code ci-dessous pour mettre à jour avec la version et le nom de formule souhaités, puis copiez et collez le reste tel quel et il utilisera ces variables pour faire la magie.Lorsque vous êtes certain que la version existe dans la formule, vous pouvez utiliser ce qui suit:
Une fois que vous avez exporté le hachage de validation que vous souhaitez utiliser, vous pouvez l'utiliser pour installer cette version du package.
Suivez les instructions dans la sortie de la formule pour la placer dans votre CHEMIN ou définissez-la comme votre shell par défaut.
la source
Sur la dernière version de homebrew (0.9.5 au moment de la rédaction de cet article), il y aura une recette spécifique pour la version du fût homebrew que vous souhaitez installer. Exemple:
Ensuite, faites
brew install mongodb26
comme d'habitude.Dans le cas où vous aviez déjà installé la dernière version, assurez - vous de délier la dernière version et relier la version souhaitée:
brew unlink mongodb && brew link mongodb26
.la source
Le problème
homebrew/versions
est que quelqu'un doit avoir cette version spécifique du logiciel répertoriée dans le référentiel pour que vous puissiez l'utiliser. De plus, comme ilbrew versions
n'est plus pris en charge, une autre solution est requise. Pour les solutions qui indiquent l'utilisationbrew switch
, cela ne fonctionnera que si vous ne l'avez pas faitbrew cleanup
car la version doit exister sur votre ordinateur.J'ai eu un problème avec le fait d'installer une ancienne version spécifique
docker-machine
qui n'était pas répertoriée danshomebrew/versions
. J'ai résolu ce problème en utilisant ce qui suit, qui devrait également fonctionner pour tous les logiciels installés. L'exemple ci-dessous utiliseradocker-machine
le package que je souhaite rétrograder de la version 0.5.0 à 0.4.1.Accédez à votre
Formula
répertoire homebrew .Vous pouvez le déterminer en exécutant
brew info [any package name]
. Par exemple,brew info docker-machine
me donne une ligne qui me montre un chemin -/usr/local/Cellar/docker-machine/0.5.0
. Cela me dit que sur ma machine, homebrew est installé sur/usr/local
et monFormula
répertoire est situé par défaut sur/usr/local/Library/Formula
Recherchez le fichier de formule spécifique (.rb) pour votre package. Puisque je veux rétrograder
docker-machine
, je peux voir undocker-machine.rb
fichier.Obtenez l'historique des versions de ce fichier de formule . Entrez
git log docker-machine.rb
. Cela répertoriera l'historique complet des validations de ce fichier. Vous verrez une sortie comme celle-ci:La partie délicate consiste à trouver le dernier commit pour la version spécifique que vous souhaitez. Dans ce qui précède, je peux dire la dernière version 0.4.1 a été commis avec cette balise commit:
commit 5970e1af9b13dcbeffd281ae57c9ab90316ba423
. Les validations au-dessus de ce point commencent à utiliser la version 0.5.0 (les entrées du journal git sont répertoriées de la dernière à la première date).Obtenez une version précédente du fichier de formule. En utilisant la balise commit de l'étape # 3 (vous pouvez utiliser les 6 premiers caractères), vous pouvez obtenir une ancienne version du fichier de formule en utilisant ce qui suit:
git checkout 5970e1 docker-machine.rb
Désinstallez la version actuelle de votre package. Exécutez simplement les commandes de brassage normales pour désinstaller la version actuelle de votre package.
Ex.
brew uninstall docker-machine
Installer l'ancienne version du package Maintenant, vous pouvez simplement exécuter la commande d'installation de brew normale et elle installera la formule que vous avez extraite. Ex.
brew install docker-machine
Vous devrez peut-être vous reconnecter en utilisant le
brew link docker-machine
si nécessaire.Si, à tout moment, vous souhaitez revenir à la dernière version d'un package spécifique, accédez au répertoire Formula et exécutez les commandes suivantes dans votre fichier de formule (.rb)
Ensuite, vous pouvez
brew uninstall docker-machine
etbrew install docker-machine
pour obtenir la dernière version et continuer ainsi.la source
git log --grep 0.4.1 docker-machine.rb
./usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula
cairo
brassage de cette façon. La réponse de @ sealocal a montré plus, pour une raison quelconque.Nous sommes en 2020 et la plupart des réponses sont dépassées
Ma situation:
postgresql
est passée de 11 à 12 accidentellement. Je veux garder 11.postgres
àpostgres@11
:Si vous avez des erreurs, vérifiez
/usr/local/var/log/[email protected]
(notez le @ 11).la source
brew postgresql-upgrade-database
). Cette réponse n'est pas utile pour presque toutes les autres formules.brew postgresql-upgrade-database
est, bien, pour les mises à niveau . Ma réponse concerne l'utilisation d'une ancienne version de Postgres. Le simple changement de binaires ne fonctionnera pas.nvm
, pour info j'ai eu de la chance en utilisant cette technique pour les anciennes versions de LTS. Au moins au moment de la rédaction, les versions 10 et 12 devraient être disponibles, par exemplebrew install node@12
formulae.brew.sh/formula/nodeInstaller une ancienne version de package d'infusion (exemple Flyway 4.2.0)
Trouvez votre répertoire local homebrew git ou clone Homebrew / homebrew-core localement
cd /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/
OU
git clone [email protected]:Homebrew/homebrew-core.git
Liste de toutes les versions disponibles
git log master -- Formula/flyway.rb
Copiez l'ID de validation de la version souhaitée et installez-le directement
brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/793abfa325531415184e1549836c982b39e89299/Formula/flyway.rb
la source
brew install Formula/flyway.rb
partir duhomebrew-core
répertoire? cela a fonctionné pour moi sans utiliser d'raw.github..
adresseJ'ai essayé la plupart des solutions ici et elles sont obsolètes. J'ai dû combiner quelques idées d'ici avec mon propre travail. En conséquence, j'ai créé un script pour m'aider à faire le gros du travail que vous pouvez trouver ici
Usage:
la source
cela pourrait être fait très facilement pour la dernière version de l'infusion.
la source
Aucun de ceux-ci n'a vraiment fonctionné pour mon cas (Python), donc je vais ajouter mes 2 cents:
La sortie ressemble à ceci:
Je veux une version
2.7.11
pour que mon hachage soitcf5da0547cd261f79d69e7ff62fdfbd2c2d646e9
(oucf5da05
pour faire court). Ensuite, je vérifie cette version et installe la formulepython
:Enfin, nettoyez:
la source
HOMEBREW_NO_AUTO_UPDATE
et lisez github.com/Homebrew/brew/issues/1188cd
brew --prefix/Homebrew
etgit log Library/Taps/homebrew/homebrew-core/Formula/python.rb
/Library/Taps
est ignoré.HOMEBREW_NO_AUTO_UPDATE
. Oui, n'oubliez pas la chose dont vous avez besoin avant d' avoir découvert que vous en avez besoin. xDHOMEBREW_NO_INSTALL_CLEANUP
n'est-ce pas quelque chose dont vous devez vous souvenir?Si vous ne trouvez pas votre version avec
brew search <formula>
, vous pouvez également essayer de parcourir les journaux de validation de votre formule pour trouver la version souhaitée:voici un exemple d'installation d'une ancienne version de nginx via brew:
Journal de validation de la formule ngxnx
voir
nginx: update 1.6.3 bottle eba75b9a1a474b9fc4df30bd0a32637fa31ec049
De là, nous pouvons installer
1.6.3
avec l'url sha et raw git:brew install https://raw.githubusercontent.com/Homebrew/homebrew/eba75b9a1a474b9fc4df30bd0a32637fa31ec049/Library/Formula/nginx.rb
la source
Actuellement, les anciennes méthodes d'installation de versions de formules spécifiques sont obsolètes. Il semble donc que nous devons utiliser
brew edit [formula]
. Par exemple, disons que nous voulons installer la62.1
version deicu4c
(nécessaire par exemple pourpostgresql 10.5
). Ensuite, il faudraitIci, vous devez modifier le
url
,version
etsha256
(peut-être aussimirror
) les62.1
chaînes correspondantes .puis exécutez
brew reinstall icu4c
pour enfin télécharger la62.1
version.la source
sha256
? dans mon cashttps://storage.googleapis.com/dart-archive/channels/stable/release/1.24.3/sdk/dartsdk-macos-x64-release.zip
Mise à jour sur la ligne 8 Library / Formula / postgresql.rb vers
Et MD5 sur la ligne 9 pour
Sauvegarder et quitter.
À ce stade, vous pourriez rencontrer l'
postgresql could not create shared memory segment
erreur, pour contourner cette mise à jour/etc/sysctl.conf
comme ceci:Réessayez
initdb /usr/local/var/postgres
et cela devrait fonctionner sans problème.Pour exécuter postgresql au démarrage
J'espère que cela pourra aider :)
la source
Je viens de copier une ancienne version d'elasticsearch dans le
/usr/local/Cellar/elasticsearch
répertoire.C'est ça. C'est peut-être utile à n'importe qui.
la source
J'ai décidé, contre mon meilleur jugement, de créer une formule pour Maven 3.1.1, qui
homebrew/versions
n'en avait pas. Pour faire ça:homebrew/versions
sur github.$(brew --prefix)/Library/Taps
vers la copie de travail locale de ma fourchette. J'appellerai çamy-homebrew/versions
.my-homebrew/versions/<formula>
.homebrew/versions
ma nouvelle formule.Yay.
la source
Pour les versions qui ne sont pas actuellement dans les formules de brassage par défaut, vous pouvez facilement créer votre propre robinet avec l'outil de https://github.com/buildtools-version-taps/homebrew-versions-tap-tool
la source
brew tap-new user/repo
et puisbrew extract --version='Major.minor' FORMULA user/repo
et puisbrew install [email protected]
.J'ai créé un outil pour faciliter le processus prescrit dans cette réponse .
Pour rechercher un package
pkg
avec versiona.b.c
, exécutez:Cela listera les commits sur la
pkg
formule homebrew qui mentionne la version donnée avec leurs URL GitHub.Vérifiez la validation à partir de l'URL donnée et entrez l'index de la validation sélectionnée.
Copiez et exécutez la commande donnée à installer.
la source