Jak mogę stworzyć link do określonej wersji?

158

Mam kilka beczek tego samego opakowania w /usr/local/Cellar/libfoopodobnym /usr/local/Cellar/libfoo/1.0.1,/usr/local/Cellar/libfoo/HEAD a/usr/local/Cellar/libfoo/mycopy

Jak mogę stworzyć link do konkretnej wersji?

jrwren
źródło

Odpowiedzi:

310

Informacje o użytkowaniu:

Usage: brew switch <formula> <version>

Przykład:

brew switch mysql 5.5.29

Możesz znaleźć wersje zainstalowane w systemie z info.

brew info mysql

Aby zobaczyć dostępne wersje do zainstalowania, możesz podać numer wersji dud, ponieważ brew z przyjemnością odpowie, podając dostępne numery wersji:

brew switch mysql 0

Aktualizacja (15.10.2014):

brew versionsKomenda została usunięta z wywaru, ale jeśli chcesz używać tej komendy pierwszy bieg brew tap homebrew/boneyard.

Zalecanym sposobem instalacji starej wersji jest instalacja z homebrew/versionsrepozytorium w następujący sposób:

$ brew tap homebrew/versions
$ brew install mysql55

Aby uzyskać szczegółowe informacje na temat wszystkich sposobów instalowania starszej wersji formuły, przeczytaj tę odpowiedź .

SimonW
źródło
1
Postępowałem zgodnie z metodą aktualizacji 15.10.2014 i musiałem dodać /usr/local/Cellar/mysql55/5.5.40/bin do mojej ścieżki. Większość rzeczy z Homebrew ma dowiązanie symboliczne w / usr / local / bin do / usr / local / Cellar ..., ale zaktualizowana instalacja nie dodaje automatycznie tego dowiązania symbolicznego.
uprawnienia
1
Nadal musisz połączyć zainstalowaną wersję i nadpisać obecny link za pomocą: brew link --overwrite mysql55
Yann VR
2
Niestety brew tap homebrew/versionsteraz daje mi błąd Error: homebrew/versions was deprecated. This tap is now empty as all its formulae were migrated''
Juraj Martinka
Czy istnieje sposób, aby dowiedzieć się, jakie wersje są dostępne, bez versionszgadywania i sprawdzania ich switch?
Kyle Strand
1
wersje są przestarzałe, więc myślę, że jedynym sposobem jest znalezienie starej formuły i zainstalowanie jej z bezpośredniego adresu URL
SimonW
12

Zapytałem w #machomebrew i dowiedziałem się, że możesz przełączać się między wersjami za pomocą przełącznika zaparzania.

$ brew switch libfoo mycopy 

aby pobrać wersję mykopii libfoo.

jrwren
źródło
4

brew switch libfoo mycopy

Możesz użyć brew switch do przełączania między wersjami tego samego pakietu, jeśli jest on zainstalowany jako wersjonowane podkatalogi wCellar/<packagename>/

Spowoduje to wyświetlenie zainstalowanych wersji (na przykład miałem Cellar/sdl2/2.0.3, skompilowałem Cellar/sdl2/2.0.4)

brew info sdl2

Następnie przełączać się między nimi

brew switch sdl2 2.0.4
brew info 

Informacje są teraz wyświetlane *obok wersji 2.0.4

Aby zainstalować pod Cellar/<packagename>/<version>ze źródła, możesz to zrobić na przykład

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

sprawdź, gdzie jest instalowany z

make install -n

jeśli wszystko wygląda poprawnie

make install

Następnie cd $(brew --Cellar)przełącz się między wersjami.

używam brew version 0.9.5

stefanB
źródło
3

Jeśli zainstalowałeś na przykład php 5.4, można go przełączyć na php 5.5 w następujący sposób:

$ 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
źródło
0

jeśli odpowiedź @ simona nie działa w niektórych komputerach Mac, postępuj zgodnie z poniższą procedurą.

Jeśli już zainstalowałeś swiftgen za pomocą następujących poleceń:

$ brew update $brew install swiftgen

następnie wykonaj poniższe kroki, aby uruchomić swiftgen ze starszą wersją.

Krok 1: brew uninstall swiftgen Krok 2: Przejdź do: https://github.com/SwiftGen/SwiftGen/releases i pobierz swiftgen w wersji: swiftgen-4.2.0.zip.

Rozpakuj pakiet w dowolnym katalogu.

Krok 3: Wykonaj następujące czynności w terminalu:

$ 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

Powinieneś otrzymać: SwiftGen v0.0 (Stencil v0.8.0, StencilSwiftKit v1.0.0, SwiftGenKit v1.0.1)

wprowadź opis obrazu tutaj

DILIP KOSURI
źródło