Comment puis-je brasser un lien vers une version spécifique?


158

J'ai quelques fûts du même paquet dans le même /usr/local/Cellar/libfoogenre /usr/local/Cellar/libfoo/1.0.1, /usr/local/Cellar/libfoo/HEADet/usr/local/Cellar/libfoo/mycopy

Comment puis-je créer un lien vers une version spécifique?

Réponses:


310

Les informations d'utilisation:

Usage: brew switch <formula> <version>

Exemple:

brew switch mysql 5.5.29

Vous pouvez trouver les versions installées sur votre système avec info.

brew info mysql

Et pour voir les versions disponibles à installer, vous pouvez fournir un numéro de version non conforme, car brew répondra utilement avec les numéros de version disponibles:

brew switch mysql 0

Mise à jour (15.10.2014):

La brew versionscommande a été supprimée de brew, mais si vous souhaitez utiliser cette commande, exécutez d'abord brew tap homebrew/boneyard.

La méthode recommandée pour installer une ancienne version consiste à installer à partir du homebrew/versionsdépôt comme suit:

$ brew tap homebrew/versions
$ brew install mysql55

Pour des informations détaillées sur toutes les façons d'installer une ancienne version d'une formule, lisez cette réponse .


1
J'ai suivi la méthode de mise à jour du 15.10.2014 et j'ai dû ajouter /usr/local/Cellar/mysql55/5.5.40/bin à mon chemin. La plupart des trucs Homebrew ont un lien symbolique dans / usr / local / bin vers / usr / local / Cellar ..., mais l'installation mise à jour n'ajoute pas automatiquement ce lien symbolique.
Pouvoirs du

1
Vous devez toujours lier la version installée et écraser votre lien actuel en utilisant: brew link --overwrite mysql55
Yann VR

2
Malheureusement, brew tap homebrew/versionsme donne maintenant une erreur Error: homebrew/versions was deprecated. This tap is now empty as all its formulae were migrated`
Juraj Martinka

Existe-t-il un moyen de déterminer quelles versions sont disponibles sans versionsou simplement deviner et vérifier avec switch?
Kyle Strand

1
versions est obsolète, donc je pense que le seul moyen qui reste est de trouver une ancienne formule et de l'installer à partir d'une URL directe
SimonW

12

J'ai demandé dans #machomebrew et j'ai appris que vous pouvez basculer entre les versions en utilisant le commutateur d'infusion.

$ brew switch libfoo mycopy 

pour obtenir la version mycopy de libfoo.


4

brew switch libfoo mycopy

Vous pouvez utiliser brew switchpour basculer entre les versions du même package, s'il est installé en tant que sous-répertoires versionnés sousCellar/<packagename>/

Cela répertorie les versions installées (par exemple, j'ai eu Cellar/sdl2/2.0.3, j'ai compilé Cellar/sdl2/2.0.4)

brew info sdl2

Puis basculer entre eux

brew switch sdl2 2.0.4
brew info 

Les informations s'affichent maintenant à *côté de la 2.0.4

Pour installer sous à Cellar/<packagename>/<version>partir de la source, vous pouvez faire par exemple

cd ~/somewhere/src/foo-2.0.4
./configure --prefix $(brew --Cellar)/foo/2.0.4
make

vérifier où il est installé avec

make install -n

si tout semble correct

make install

Ensuite, cd $(brew --Cellar)faites le basculement entre les versions.

j'utilise brew version 0.9.5


3

Si vous avez installé, par exemple, php 5.4, il peut être basculé de la manière suivante vers php 5.5:

$ php --version
PHP 5.4.32 (cli) (built: Aug 26 2014 15:14:01) 
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2014 Zend Technologies

$ brew unlink php54

$ brew switch php55 5.5.16

$ php --version
PHP 5.5.16 (cli) (built: Sep  9 2014 14:27:18) 
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies

0

si la réponse de @ simon ne fonctionne pas dans certains mac, veuillez suivre le processus ci-dessous.

Si vous avez déjà installé swiftgen à l'aide des commandes suivantes:

$ brew update $brew install swiftgen

puis suivez les étapes ci-dessous pour exécuter swiftgen avec une version plus ancienne.

Étape 1: brew uninstall swiftgen Étape 2: Accédez à: https://github.com/SwiftGen/SwiftGen/releases et téléchargez le swiftgen avec la version: swiftgen-4.2.0.zip.

Décompressez le package dans l'un des répertoires.

Étape 3: Exécutez les opérations suivantes dans un terminal:

$ mkdir -p ~/dependencies/swiftgen
$ cp -R ~/<your_directory_name>/swiftgen-4.2.0/ ~/dependencies/swiftgen
$ cd /usr/local/bin
$ ln -s ~/dependencies/swiftgen/bin/swiftgen swiftgen
$ mkdir ~/Library/Application\ Support/SwiftGen
$ ln -s ~/dependencies/swiftgen/templates/ ~/Library/Application\ Support/SwiftGen/

$ swiftgen --version

Vous devriez obtenir: SwiftGen v0.0 (Stencil v0.8.0, StencilSwiftKit v1.0.0, SwiftGenKit v1.0.1)

entrez la description de l'image ici

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.