Làm thế nào tôi có thể liên kết một phiên bản cụ thể?


158

Tôi có một vài thùng trong cùng một gói /usr/local/Cellar/libfoonhư /usr/local/Cellar/libfoo/1.0.1,/usr/local/Cellar/libfoo/HEAD/usr/local/Cellar/libfoo/mycopy

Làm thế nào tôi có thể ủ liên kết đến một phiên bản cụ thể?

Câu trả lời:


310

Thông tin sử dụng:

Usage: brew switch <formula> <version>

Thí dụ:

brew switch mysql 5.5.29

Bạn có thể tìm thấy các phiên bản được cài đặt trên hệ thống của bạn với info.

brew info mysql

Và để xem các phiên bản có sẵn để cài đặt, bạn có thể cung cấp số phiên bản dud, vì brew sẽ phản hồi một cách hữu ích với các số phiên bản có sẵn:

brew switch mysql 0

Cập nhật (15.10.2014):

Các brew versionslệnh đã bị xóa khỏi bia, nhưng nếu bạn làm mong muốn sử dụng lệnh này chạy đầu tiên brew tap homebrew/boneyard.

Cách được đề xuất để cài đặt phiên bản cũ là cài đặt từ homebrew/versionsrepo như sau:

$ brew tap homebrew/versions
$ brew install mysql55

Để biết thông tin chi tiết về tất cả các cách để cài đặt phiên bản cũ hơn của công thức, hãy đọc câu trả lời này .


1
Tôi đã làm theo phương pháp Cập nhật 15.10.2014 và cần thêm /usr/local/Cellar/mysql55/5.5.40/bin vào đường dẫn của tôi. Hầu hết các công cụ Homebrew có một liên kết tượng trưng trong / usr / local / bin đến / usr / local / Cellar ..., nhưng cài đặt được cập nhật không tự động thêm liên kết tượng trưng này.
Quyền hạn

1
Bạn vẫn cần liên kết phiên bản đã cài đặt và ghi đè lên liên kết hiện tại của mình bằng cách sử dụng: brew link --overwrite mysql55
Yann VR

2
Thật không may, brew tap homebrew/versionsbây giờ cho tôi một lỗi Error: homebrew/versions was deprecated. This tap is now empty as all its formulae were migrated`
Juraj Martinka

Có cách nào để tìm ra phiên bản nào có sẵn mà không cần versionshoặc chỉ đoán và kiểm tra switchkhông?
Kyle Strand

1
các phiên bản không được dùng nữa nên tôi nghĩ cách duy nhất còn lại là tìm một công thức cũ và cài đặt nó từ một URL trực tiếp
SimonW

12

Tôi đã hỏi trong #machomebrew và được biết rằng bạn có thể chuyển đổi giữa các phiên bản bằng cách sử dụng công tắc bia.

$ brew switch libfoo mycopy 

để có được phiên bản mycopy của libfoo.


4

brew switch libfoo mycopy

Bạn có thể sử dụng brew switchđể chuyển đổi giữa các phiên bản của cùng một gói, nếu nó được cài đặt dưới dạng thư mục con được phiên bản trongCellar/<packagename>/

Điều này sẽ liệt kê các phiên bản đã cài đặt (ví dụ tôi đã có Cellar/sdl2/2.0.3, tôi đã biên dịch thành Cellar/sdl2/2.0.4)

brew info sdl2

Sau đó để chuyển đổi giữa chúng

brew switch sdl2 2.0.4
brew info 

Thông tin hiện hiển thị *bên cạnh 2.0.4

Để cài đặt dưới Cellar/<packagename>/<version>nguồn, bạn có thể làm ví dụ

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

kiểm tra xem nó được cài đặt ở đâu

make install -n

nếu tất cả có vẻ đúng

make install

Sau đó, từ cd $(brew --Cellar)việc chuyển đổi giữa các phiên bản.

Tôi đang sử dụng brew version 0.9.5


3

Nếu bạn đã cài đặt, ví dụ, php 5.4, nó có thể được chuyển đổi theo cách sau sang 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

0

Nếu câu trả lời của @ simon không hoạt động trong một số máy Mac, vui lòng làm theo quy trình dưới đây.

Nếu bạn đã cài đặt swiftgen bằng các lệnh sau:

$ brew update $brew install swiftgen

sau đó làm theo các bước dưới đây để chạy swiftgen với phiên bản cũ hơn.

Bước 1: brew uninstall swiftgen Bước 2: Điều hướng đến: https://github.com/SwiftGen/SwiftGen/release và tải xuống swiftgen với phiên bản: swiftgen-4.2.0.zip.

Giải nén gói trong bất kỳ thư mục.

Bước 3: Thực hiện các thao tác sau trong thiết bị đầu cuối:

$ 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

Bạn sẽ nhận được: SwiftGen v0.0 (Macintosh v0.8.0, MacintoshSwiftKit v1.0.0, SwiftGenKit v1.0.1)

nhập mô tả hình ảnh ở đây

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.