Установка пакетов 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 configure, чтобы указать нужный каталог установки, а затем Вы можете запустить его оттуда.

(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.