Устанавливаем tmux, но получаем «dyld: Библиотека не загружена Ссылка от: / usr /»

33

Я пытаюсь сделать

brew install tmux

он устанавливает, но, вероятно, из-за предыдущих неудачных и не полностью удаленных попыток non-brew установить его и libevent, когда я пытаюсь использовать tmux, я получаю

$ tmux
dyld: Library not loaded: /usr/local/lib/libevent-2.0.5.dylib
  Referenced from: /usr/local/bin/tmux
  Reason: image not found
Trace/BPT trap: 5

Я попытался установить libevent, но я получил:

$ brew install libevent
Warning: libevent-2.0.21 already installed, it's just not linked

поэтому я попробовал

$ brew link libevent

но я получил

Linking /usr/local/Cellar/libevent/2.0.21... 
Warning: Could not link libevent. Unlinking...
Error: Could not symlink file: /usr/local/Cellar/libevent/2.0.21/include/event2/util.h
Target /usr/local/include/event2/util.h already exists. You may need to delete it.
To force the link and overwrite all other conflicting files, do:
  brew link --overwrite formula_name
To list all files that would be deleted:
  brew link --overwrite --dry-run formula_name

поэтому я попробовал

$ brew link --overwrite libevent

но я получил

Linking /usr/local/Cellar/libevent/2.0.21... 
Warning: Could not link libevent. Unlinking...
Error: Permission denied - /usr/local/include/event2/util.h

поэтому я попробовал

$ sudo brew link --overwrite libevent

Пароль:

но я получил

Error: Cowardly refusing to `sudo brew link`
You can use brew with sudo, but only if the brew executable is owned by root.
However, this is both not recommended and completely unsupported so do so at
your own risk.

Я застрял.

Майкл Даррант
источник

Ответы:

19

У меня была такая же проблема.

$ tmux
dyld: Library not loaded: /usr/local/lib/libevent-2.0.5.dylib
Referenced from: /usr/local/Cellar/tmux/1.9a/bin/tmux
Reason: image not found
Trace/BPT trap: 5

Пытался установить, libeventно он уже был там, еще не связан:

$ brew install libevent
Warning: libevent-2.0.21 already installed
$ brew link libevent
Warning: Already linked: /usr/local/Cellar/libevent/2.0.21
To relink: brew unlink libevent && brew link libevent

Я решил это, сделав именно то, что было предложено выше:

$ brew unlink libevent && brew link libevent
Unlinking /usr/local/Cellar/libevent/2.0.21... 4 links removed
Linking /usr/local/Cellar/libevent/2.0.21... 25 symlinks created
$ tmux -V
tmux 1.9a
Джинсук Ким
источник
5
Это не сработало для меня. Мне пришлось удалить и переустановить.
Кайл Хейронимус
51
brew uninstall --force tmux
brew install tmux

исправил это для меня.

user226390
источник
4
Это сработало для меня, но без необходимости --force.
juanignaciosl
2
В моем случае принятый ответ не сработал, но это сработало. Спасибо
кисанме
Это сработало и для меня (принятый ответ не сработал) ..
Ионик Бизэ
только это сработало!
janicebaratheon
1
Нет необходимости в
--force
3

Мой tmux также недавно начал снимать эту ошибку. В моем случае просто позвонил brew upgrade tmuxпомог.

Bajena
источник
3

У меня та же проблема с tmuxinator, и я получаю эту ошибку в моем случае, я обновил tmux с помощью:

brew upgrade tmux 
anquegi
источник
0

Я попробовал вышеупомянутые шаги, но они не работали для меня все же. В моем случае у меня просто не было отсутствующей версии libevent. Я дважды, трижды проверил это, но кажется, что версия не подана варевом или как-то еще.

То, что у меня было, это libevent-2.1.6.dylib. Я сделал символическую ссылку с libevent-2.0.5.dylib на вышеупомянутый файл, и tmux снова работает. Возможно, tmux следует обновить?

Kozie
источник
1
Я понимаю, что, похоже, я не отвечаю на вопрос. У меня было точно такое же сообщение об ошибке и симптомы. Моя проблема, однако, была не в плохом связывании libevent, а в совершенно иной версии. Мое дополнение может помочь другим людям, имеющим ту же проблему, что и я.
Kozie
@Tetsujin на самом деле, ОП не задавал вопрос, собираемся ли мы разделить волосы. Этот ответ решил это для меня без потери сеанса tmux. Спасибо Кози за публикацию.
snapfractalpop
0

Я получил ту же проблему после обновления MacOS. Решить

  • Если вы установили tmuxиз исходного кода, а затем переустановить снова, он свяжет новый libevent.
  • если используется Homebrew run brew uninstall --force tmux; brew install tmux
cchash
источник
0

Я столкнулся с проблемой и попробовал вышеупомянутые решения, но это не работало. Я обнаружил странную зависимость с openssl, и поскольку я установил openssl через pipнего, он не был должным образом связан с / usr / local / opt, и соединение через brew также не работало. Простым решением было удалить как openssl, так и libevent через brew и переустановить их через brew.

BoredToolBox
источник