Wie kann ich eine bestimmte Version verknüpfen?

158

Ich habe ein paar Fässchen des gleichen Pakets in /usr/local/Cellar/libfoowie /usr/local/Cellar/libfoo/1.0.1, /usr/local/Cellar/libfoo/HEADund/usr/local/Cellar/libfoo/mycopy

Wie kann ich einen Link zu einer bestimmten Version erstellen?

jrwren
quelle

Antworten:

310

Die Nutzungsinformationen:

Usage: brew switch <formula> <version>

Beispiel:

brew switch mysql 5.5.29

Sie finden die auf Ihrem System installierten Versionen mit info.

brew info mysql

Um die verfügbaren zu installierenden Versionen anzuzeigen, können Sie eine Dud-Versionsnummer angeben, da Brew hilfreich mit den verfügbaren Versionsnummern reagiert:

brew switch mysql 0

Update (15.10.2014):

Der brew versionsBefehl wurde aus dem Brauen entfernt, aber wenn Sie diesen Befehl verwenden möchten, führen Sie ihn zuerst aus brew tap homebrew/boneyard.

Die empfohlene Methode zum Installieren einer alten Version besteht darin, das homebrew/versionsRepo wie folgt zu installieren :

$ brew tap homebrew/versions
$ brew install mysql55

Ausführliche Informationen zu allen Möglichkeiten zum Installieren einer älteren Version einer Formel finden Sie in dieser Antwort .

SimonW
quelle
1
Ich folgte der Update-Methode vom 15.10.2014 und musste meinem Pfad /usr/local/Cellar/mysql55/5.5.40/bin hinzufügen. Die meisten Homebrew-Inhalte haben einen Symlink in / usr / local / bin zu / usr / local / Cellar ..., aber die aktualisierte Installation fügt diesen Symlink nicht automatisch hinzu.
Befugnisse
1
Sie müssen noch die installierte Version verknüpfen und Ihren aktuellen Link überschreiben, indem Sie Folgendes verwenden: Brew Link
Yann VR
2
Leider brew tap homebrew/versionsgibt mir jetzt ein Fehler Error: homebrew/versions was deprecated. This tap is now empty as all its formulae were migrated`
Juraj Martinka
Gibt es eine Möglichkeit herauszufinden, welche Versionen verfügbar sind, ohne versionsnur zu raten und zu überprüfen switch?
Kyle Strand
1
Versionen sind veraltet, daher denke ich, dass der einzige Weg übrig bleibt, eine alte Formel zu finden und sie von einer direkten URL zu installieren
SimonW
12

Ich habe in #machomebrew gefragt und erfahren, dass Sie mit dem Brew-Schalter zwischen den Versionen wechseln können.

$ brew switch libfoo mycopy 

um die Version mycopy von libfoo zu erhalten.

jrwren
quelle
4

brew switch libfoo mycopy

Sie können brew switchzwischen Versionen desselben Pakets wechseln, wenn es als versionierte Unterverzeichnisse unter installiert istCellar/<packagename>/

Hier werden die installierten Versionen aufgelistet (zum Beispiel Cellar/sdl2/2.0.3, in die ich kompiliert habe Cellar/sdl2/2.0.4)

brew info sdl2

Dann zwischen ihnen wechseln

brew switch sdl2 2.0.4
brew info 

Info wird jetzt *neben dem 2.0.4 angezeigt

Um unter Cellar/<packagename>/<version>von der Quelle zu installieren , können Sie zum Beispiel tun

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

Überprüfen Sie, wo es installiert wird

make install -n

wenn alles richtig aussieht

make install

Dann von cd $(brew --Cellar)machen Sie den Wechsel zwischen Version.

Ich benutze brew version 0.9.5

stefanB
quelle
3

Wenn Sie zum Beispiel PHP 5.4 installiert haben, kann es folgendermaßen auf PHP 5.5 umgestellt werden:

$ 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
FelikZ
quelle
0

Wenn die Antwort von @ simon bei einigen Macs nicht funktioniert, befolgen Sie bitte den folgenden Vorgang.

Wenn Sie swiftgen bereits mit den folgenden Befehlen installiert haben:

$ brew update $brew install swiftgen

Führen Sie dann die folgenden Schritte aus, um swiftgen mit einer älteren Version auszuführen.

Schritt 1: brew uninstall swiftgen Schritt 2: Navigieren Sie zu: https://github.com/SwiftGen/SwiftGen/releases und laden Sie den swiftgen mit der Version: swiftgen-4.2.0.zip herunter.

Entpacken Sie das Paket in einem der Verzeichnisse.

Schritt 3: Führen Sie in einem Terminal Folgendes aus:

$ 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

Sie sollten Folgendes erhalten: SwiftGen v0.0 (Stencil v0.8.0, StencilSwiftKit v1.0.0, SwiftGenKit v1.0.1)

Geben Sie hier die Bildbeschreibung ein

DILIP KOSURI
quelle