Cài đặt gói Homebrew mà không cần liên kết


16

Tôi muốn cài đặt một số phiên bản của Ruby (hoặc thực sự là bất kỳ gói Homebrew nào) mà không liên kết bất kỳ phiên bản nào trong số chúng. Về cơ bản, tôi muốn coi bất kỳ công thức nào chỉ là keg.

Tôi dường như không thể tìm ra cách để làm điều này, mặc dù nó có vẻ tầm thường. Tôi nghĩ rằng sẽ có một cái gì đó như brew install --no-link <formula>.

Có cách nào để làm những gì tôi muốn, hoặc một số lý do tại sao đây là một ý tưởng tồi?

Tôi thực sự muốn sử dụng Homebrew để cài đặt các phiên bản Ruby và rbenv để quản lý chúng.


Vâng, điều này sẽ thực sự tiện dụng, tôi cũng không thể tìm thấy câu trả lời.
Aron Ahmadia

Tôi nghĩ rằng việc thiếu tính năng này là triệu chứng của hỗ trợ chung cho các phiên bản của Homebrew. Bạn luôn nhận được bản mới nhất và cách duy nhất để có phiên bản cũ hơn là hy vọng ai đó đã sao chép nó vào phiên bản keg hoặc đi săn lùng lịch sử git. Có quá nhiều thứ nên là các đối số dòng lệnh đơn giản nhưng chỉ có thể thực hiện được brew edit.
Mark Reed

Câu trả lời:


10

Tất cả bạn phải làm là chỉnh sửa công thức mặc định và tùy chỉnh nó cho mục đích của bạn, vốn chỉ là keg. Thực sự rất dễ dàng để tạo phiên bản công thức tùy chỉnh của riêng bạn và khi bạn chỉnh sửa công thức, Homebrew giữ phiên bản được cá nhân hóa của bạn để sử dụng trong tương lai.

Vì vậy, chỉ cần chỉnh sửa tệp công thức (đối với phiên bản nhấn cụ thể mà bạn định cài đặt) và thêm vào keg_only "My reason for making this keg-only"trong lớp công thức, ví dụ trên một dòng mới ngay sau desclệnh.

Trong trường hợp bạn chưa chỉnh sửa công thức trước đó, hãy đọc một vài dòng từ Câu hỏi thường gặp của Homebrew để tìm hiểu cách thực hiện:

Tôi có thể tự chỉnh sửa công thức không?

Đúng! Dễ thôi! Chỉ cần brew edit $FORMULA. Bạn không phải gửi các sửa đổi trở lại Homebrew / homebrew , chỉ cần chỉnh sửa công thức khi cá nhân bạn cần và brew install. Vì phần thưởng brew updatesẽ hợp nhất các thay đổi của bạn với ngược dòng để bạn vẫn có thể cập nhật công thức với các sửa đổi cá nhân của mình!


0

Bạn có thể chạy brew install <formula>và sau đó brew unlink <formula>, loại bỏ tất cả các liên kết.


Đúng, nhưng điều đó vẫn liên kết với Ruby, sẽ thất bại nếu có một phiên bản đã được liên kết. Tôi muốn cài đặt mà không bao giờ liên kết.
cũng là

0

Tôi không chắc chắn về Ruby, nhưng để làm điều này cho nhiều phần mềm, bạn có thể chỉ cần tải xuống nguồn và điều chỉnh tệp tạo hoặc sử dụng các cờ cho tập lệnh cấu hình autoconf để chỉ định thư mục cài đặt bạn muốn, sau đó bạn có thể chạy nó từ đó

(From configure --help output)
Installation directories:
  --prefix=PREFIX         install architecture-independent files in PREFIX
                          [/usr/local]
  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
                          [PREFIX]
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.