ฉันมีถังไม่กี่ของแพคเกจเดียวกันใน/usr/local/Cellar/libfoo
เหมือน/usr/local/Cellar/libfoo/1.0.1
, /usr/local/Cellar/libfoo/HEAD
และ/usr/local/Cellar/libfoo/mycopy
ฉันจะชงลิงก์ไปยังรุ่นที่ต้องการได้อย่างไร
ฉันมีถังไม่กี่ของแพคเกจเดียวกันใน/usr/local/Cellar/libfoo
เหมือน/usr/local/Cellar/libfoo/1.0.1
, /usr/local/Cellar/libfoo/HEAD
และ/usr/local/Cellar/libfoo/mycopy
ฉันจะชงลิงก์ไปยังรุ่นที่ต้องการได้อย่างไร
คำตอบ:
ข้อมูลการใช้งาน:
Usage: brew switch <formula> <version>
ตัวอย่าง:
brew switch mysql 5.5.29
info
คุณสามารถค้นหารุ่นที่ติดตั้งในระบบของคุณด้วย
brew info mysql
และหากต้องการดูรุ่นที่มีให้ติดตั้งคุณสามารถระบุหมายเลขรุ่น dud ได้เนื่องจาก Brew จะตอบกลับอย่างเป็นประโยชน์กับหมายเลขรุ่นที่มี:
brew switch mysql 0
อัปเดต (15.10.2014):
brew versions
คำสั่งได้ถูกลบออกจากการชง brew tap homebrew/boneyard
แต่ถ้าคุณไม่ต้องการที่จะใช้คำสั่งนี้ออกฉายครั้งแรก
วิธีที่แนะนำในการติดตั้งเวอร์ชั่นเก่าคือการติดตั้งจากhomebrew/versions
repo ดังนี้:
$ brew tap homebrew/versions
$ brew install mysql55
สำหรับข้อมูลโดยละเอียดเกี่ยวกับวิธีติดตั้งสูตรที่เก่ากว่าให้อ่านคำตอบนี้
brew tap homebrew/versions
ตอนนี้ฉันมีข้อผิดพลาดError: homebrew/versions was deprecated. This tap is now empty as all its formulae were migrated
`
versions
หรือเพียงแค่คาดเดาและตรวจสอบด้วยswitch
?
ฉันถามใน #machomebrew และเรียนรู้ว่าคุณสามารถสลับระหว่างเวอร์ชันได้โดยใช้สวิตช์ชง
$ brew switch libfoo mycopy
เพื่อรับเวอร์ชัน mycopy ของ libfoo
brew switch libfoo mycopy
คุณสามารถใช้brew switch
เพื่อสลับระหว่างเวอร์ชันของแพ็คเกจเดียวกันหากมีการติดตั้งเป็นไดเรกทอรีย่อยภายใต้Cellar/<packagename>/
รายการนี้จะติดตั้งรุ่น (เช่นฉันมีCellar/sdl2/2.0.3
ฉันรวบรวมไว้Cellar/sdl2/2.0.4
)
brew info sdl2
จากนั้นสลับไปมาระหว่างกัน
brew switch sdl2 2.0.4
brew info
ข้อมูลจะแสดง*
ถัดจาก 2.0.4
ในการติดตั้งCellar/<packagename>/<version>
จากแหล่งที่มาคุณสามารถทำได้
cd ~/somewhere/src/foo-2.0.4
./configure --prefix $(brew --Cellar)/foo/2.0.4
make
ตรวจสอบว่าติดตั้งที่ไหน
make install -n
ถ้าทุกอย่างถูกต้อง
make install
จากนั้นcd $(brew --Cellar)
ทำการสลับระหว่างเวอร์ชัน
ฉันกำลังใช้ brew version 0.9.5
หากคุณติดตั้งตัวอย่างเช่น php 5.4 มันสามารถเปลี่ยนได้ในวิธีต่อไปนี้เป็น 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
หากคำตอบของ @ simon ไม่ทำงานใน mac บางตัวโปรดทำตามขั้นตอนด้านล่าง
หากคุณติดตั้ง swiftgen แล้วโดยใช้คำสั่งต่อไปนี้:
$ brew update
$brew install swiftgen
จากนั้นทำตามขั้นตอนด้านล่างเพื่อเรียกใช้ swiftgen กับรุ่นที่เก่ากว่า
ขั้นตอนที่ 1: brew uninstall swiftgen
ขั้นตอนที่ 2: ไปที่: https://github.com/SwiftGen/SwiftGen/releases
และดาวน์โหลด swiftgen พร้อมเวอร์ชั่น: swiftgen-4.2.0.zip
Unzip แพ็คเกจในไดเรกทอรีใด ๆ
ขั้นตอนที่ 3: ดำเนินการต่อไปนี้ในเทอร์มินัล:
$ 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
คุณควรได้รับ: SwiftGen v0.0 (Stencil v0.8.0, StencilSwiftKit v1.0.0, SwiftGenKit v1.0.1)