Встановлення пакунків Homebrew без посилання


16

Я хотів би встановити кілька версій Ruby (або насправді будь-якого пакета Homebrew), не пов'язуючи жодну з них. В основному, я хотів би ставитися до будь-якої формули як до кег.

Я не можу знайти спосіб зробити це, хоча це здається тривіальним. Я думав, що щось подібне буде brew install --no-link <formula>.

Чи є спосіб зробити те, що я хочу, або якась причина, чому це погана ідея?

Я дуже хотів би використовувати Homebrew для встановлення Ruby версій, а rbenv для управління ними.


Так, це було б дуже зручно, я не могла знайти відповіді ніде.
Арон Ахмадія

Я думаю, що відсутність цієї функції є симптоматикою загальної поганої підтримки версій Homebrew для версій. Ви завжди отримуєте останню версію, і єдиний спосіб отримати старішу версію - це сподіватися, що хтось скопіював її у кег версій, або піти на полювання навколо історії git. Занадто багато речей, які повинні бути простими аргументами командного рядка, але їх можна виконати лише з допомогою brew edit.
Марк Рід

Відповіді:


10

Все, що вам потрібно зробити, - це відредагувати формулу за замовчуванням і налаштувати її під свої цілі, яка зараз використовується лише у кег. Створити власну індивідуальну версію формул насправді дуже просто, і коли ви редагуєте формулу, Homebrew зберігає вашу персоналізовану версію для подальшого використання.

Отже, просто відредагуйте файл формули (для конкретної версії крана, яку ви плануєте встановити) та додайте keg_only "My reason for making this keg-only"до класу формул, наприклад, у новий рядок безпосередньо після descкоманди.

Якщо ви раніше не редагували формулу, прочитайте ці рядки із FAQ-питань Homebrew, щоб дізнатися, як це зробити:

Чи можу я сам редагувати формули?

Так! Це легко! Просто brew edit $FORMULA. Вам не потрібно надсилати модифікації на Homebrew / homebrew , просто відредагуйте формулу так, як вам особисто це потрібно brew install. Як бонус brew updateбуде злито ваші зміни з верхнім потоком, так що ви можете залишати актуальну формулу з вашими особистими модифікаціями!


0

Можна запустити brew install <formula>і потім brew unlink <formula>, що видаляє всі посилання.


Правильно, але це все ще посилає на Ruby, що не вдасться, якщо вже є версія. Я хочу встановити, не пов'язуючи жодного разу .
також

0

Я не впевнений у Ruby, але для цього для багатьох програмного забезпечення ви можете просто завантажити джерело та відрегулювати файл make, або використати прапори для сценарію налаштування autoconf, щоб вказати потрібний каталог встановлення, а потім ви можете запустити його звідти.

(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]
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.