Bagaimana saya dapat membuat tautan pada versi tertentu?

158

Saya punya beberapa tong dari paket yang sama di /usr/local/Cellar/libfoosuka /usr/local/Cellar/libfoo/1.0.1, /usr/local/Cellar/libfoo/HEADdan/usr/local/Cellar/libfoo/mycopy

Bagaimana saya bisa membuat tautan ke versi tertentu?

Jrwren
sumber

Jawaban:

310

Info penggunaan:

Usage: brew switch <formula> <version>

Contoh:

brew switch mysql 5.5.29

Anda dapat menemukan versi yang diinstal pada sistem Anda info.

brew info mysql

Dan untuk melihat versi yang tersedia untuk diinstal, Anda dapat memberikan nomor versi yang tidak berguna, karena minuman akan membantu merespons dengan nomor versi yang tersedia:

brew switch mysql 0

Pembaruan (15.10.2014):

The brew versionsperintah telah dihapus dari minuman, tetapi, jika Anda ingin menggunakan perintah dijalankan pertama ini brew tap homebrew/boneyard.

Cara yang disarankan untuk menginstal versi lama adalah menginstal dari homebrew/versionsrepo sebagai berikut:

$ brew tap homebrew/versions
$ brew install mysql55

Untuk info terperinci tentang semua cara memasang versi formula yang lebih lama, baca jawaban ini .

SimonW
sumber
1
Saya mengikuti metode Pembaruan 15.10.2014 dan perlu menambahkan /usr/local/Cellar/mysql55/5.5.40/bin ke jalur saya. Sebagian besar barang Homebrew memiliki symlink di / usr / local / bin ke / usr / local / Cellar ..., tetapi instalasi yang diperbarui tidak secara otomatis menambahkan symlink ini.
Powers
1
Anda masih perlu menautkan versi yang diinstal dan menimpa tautan Anda saat ini dengan menggunakan: brew link --overwrite mysql55
Yann VR
2
Sayangnya, brew tap homebrew/versionssekarang memberi saya kesalahan Error: homebrew/versions was deprecated. This tap is now empty as all its formulae were migrated`
Juraj Martinka
Apakah ada cara untuk mengetahui versi apa yang tersedia tanpa versionsatau hanya menebak-nebak switch?
Kyle Strand
1
versi sudah usang jadi saya pikir satu-satunya cara yang tersisa adalah menemukan formula lama dan menginstalnya dari URL langsung
SimonW
12

Saya bertanya di #machomebrew dan mengetahui bahwa Anda dapat beralih antar versi menggunakan brew switch.

$ brew switch libfoo mycopy 

untuk mendapatkan versi mycopy dari libfoo.

Jrwren
sumber
4

brew switch libfoo mycopy

Anda dapat menggunakan brew switchuntuk beralih antar versi dari paket yang sama, jika diinstal sebagai subdirektori berversi di bawahCellar/<packagename>/

Ini akan mendaftar versi yang diinstal (misalnya saya punya Cellar/sdl2/2.0.3, saya sudah dikompilasi Cellar/sdl2/2.0.4)

brew info sdl2

Kemudian untuk beralih di antara mereka

brew switch sdl2 2.0.4
brew info 

Info sekarang ditampilkan di *sebelah 2.0.4

Untuk menginstal di bawah Cellar/<packagename>/<version>dari sumber yang dapat Anda lakukan misalnya

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

periksa di mana ia diinstal

make install -n

jika semua terlihat benar

make install

Lalu dari cd $(brew --Cellar)lakukan beralih antar versi.

saya menggunakan brew version 0.9.5

Stefan
sumber
3

Jika Anda telah menginstal, misalnya, php 5.4 itu bisa diaktifkan dengan cara berikut ke 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
FelikZ
sumber
0

jika jawaban @ simon tidak berfungsi di beberapa mac, harap ikuti proses di bawah ini.

Jika Anda telah menginstal swiftgen menggunakan perintah berikut:

$ brew update $brew install swiftgen

kemudian ikuti langkah-langkah di bawah ini untuk menjalankan swiftgen dengan versi yang lebih lama.

Langkah 1: brew uninstall swiftgen Langkah 2: Navigasikan ke: https://github.com/SwiftGen/SwiftGen/releases dan unduh swiftgen dengan versi: swiftgen-4.2.0.zip.

Buka zip paket di salah satu direktori.

Langkah 3: Jalankan yang berikut di 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

Anda harus mendapatkan: SwiftGen v0.0 (Stencil v0.8.0, StencilSwiftKit v1.0.0, SwiftGenKit v1.0.1)

masukkan deskripsi gambar di sini

DILIP KOSURI
sumber