web-dev-qa-db-fra.com

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

J'ai quelques fûts du même paquet dans /usr/local/Cellar/libfoo comme /usr/local/Cellar/libfoo/1.0.1, /usr/local/Cellar/libfoo/HEAD et /usr/local/Cellar/libfoo/mycopy

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

152
jrwren

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 raté, car brew répondra utilement avec les numéros de version disponibles:

brew switch mysql 0

Mise à jour (15.10.2014):

La commande brew versions a été supprimée de l'infusion, 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 référentiel homebrew/versions comme suit:

$ brew tap homebrew/versions
$ brew install mysql55

Pour des informations détaillées sur toutes les manières d'installer une version plus ancienne d'une formule, lisez cette réponse .

295
SimonW

J'ai demandé à #machomebrew et appris que vous pouvez passer d'une version à l'autre en utilisant un commutateur d'infusion.

$ brew switch libfoo mycopy 

pour obtenir la version mycopy de libfoo.

12
jrwren

brew switch libfoo mycopy

Vous pouvez utiliser brew switch pour passer d’une version à l’autre du même paquet, s’il est installé en tant que sous-répertoires versionnés sous Cellar/<packagename>/

Ceci listera les versions installées (par exemple j'avais Cellar/sdl2/2.0.3, je l'ai compilé dans Cellar/sdl2/2.0.4)

brew info sdl2

Puis basculer entre eux

brew switch sdl2 2.0.4
brew info 

Info affiche maintenant * à côté de 2.0.4

Pour installer sous Cellar/<packagename>/<version> à partir du 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, à partir de cd $(brew --Cellar), changez de version.

J'utilise brew version 0.9.5

4
stefanB

Si vous avez installé, par exemple, php 5.4, il pourrait être remplacé de la manière suivante par 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
2
FelikZ

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

Si vous avez déjà installé swiftgen en utilisant les commandes suivantes:

$ brew update $ brew install swiftgen

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

Étape 1: brew uninstall swiftgen Étape 2: Accédez à: https://github.com/SwiftGen/SwiftGen/releases et téléchargez le fichier 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)

enter image description here

0
DILIP KOSURI