Я только что обновил свой MacBook Air до Mavericks. Процесс, кажется, удалил почти все homebrew
вставленные ссылки /usr/local/bin
. Когда я замечаю, что чего-то не хватает, я заново связываю их brew unlink <keg> && brew link <keg>
(хотя символические ссылки исчезли, но homebrew
все же думает , что они есть, поэтому мне нужно unlink
сначала). Это кажется несколько неэффективным.
Я мог бы просто просмотреть все, /usr/local/Cellar
но не все кеги автоматически связываются, и я не хочу их связывать. Поэтому мое следующее предположение - перечислить все связанные кеги и связать их заново (используя вышеизложенное).
Есть ли какая-то волшебная команда, которая найдет все кеги, которые, по их homebrew
мнению , связаны между собой, чтобы я мог связать их?
Ответы:
/usr/local/Library/LinkedKegs
кажется, содержит список, ну, в общем, связанных кег, так что это должно сработать:Я бы рекомендовал убедиться, что у вас есть права на запись еще
/usr/local/lib
раз, прежде чем пытаться это сделать.источник
--force
!brew link
должно быть достаточно, и некоторые кеги на самом деле не должны быть связаны (поскольку они могут конфликтовать с системными библиотеками), в то время как--force
будут принудительно связаны./usr/local/Library
.Эта команда bash ( оттуда ) отменит все установленные формулы, а затем снова свяжет их:
Я предполагаю, что все формулы должны быть связаны, в противном случае, какой бы инструмент не зависел от них, они не смогут их найти.
источник
brew list -1 | xargs -I formula sh -c "brew unlink formula && brew link formula"
В дополнение к другим ответам на этот вопрос, вам также может понадобиться перекомпоновать формулу с несколькими установленными версиями (
brew link
не сделаю этого за вас).Сначала перепроверьте все формулы, которые вы можете:
Затем запустите
brew doctor
, который должен пожаловаться и дать вам два списка:Для каждой формулы с несколькими версиями выполните следующее, заменив «python» на имя формулы:
Это покажет вам, среди прочего, все установленные версии. Выберите, какую версию вы хотите связать (для меня это 2.7.6), и используйте
brew switch
Вы также захотите запустить
brew unlink
в списке (если есть) формул только кеги, которые были связаны.источник