39

Я долго не запускал brew update && brew upgrade .

Я только что сделал огромное обновление, которое, как оказалось, сломало мой Vim.

Вот что я получил после запуска vim:

dyld: Library not loaded: /usr/local/opt/ruby/lib/libruby.2.3.0.dylib
  Referenced from: /usr/local/bin/vim
  Reason: image not found
Trace/BPT trap: 5

Я сталкивался с некоторыми сайтами, но ни один из них не был на самом деле полезным.

Они сказали, что это может быть связано с rvm но brew uninstall brew uninstall vim; rvm system; brew install vim не помогло Я попытался переустановить MacVim, но это не решило проблему.

Добавление export PATH="/usr/local/bin:$PATH" в мой .bash_profile также не помогло.

Вот список для дальнейшего использования:

Что случилось с моим Vim? Как я могу это исправить?

9 ответов9

38

Решение

Попробуйте переустановить ruby и vim , например

brew reinstall ruby vim

Поиск проблемы

Вот другие предложения, если выше не поможет:

  • Найдите ссылки на переменные окружения DYLD_LIBRARY_PATH , DYLD_FALLBACK_LIBRARY_PATH или DYLD_FRAMEWORK_PATH и удалите их из сценариев оболочки запуска (например, ~/.bashrc , ~/.bash_profile и т.д.).
24

ТЛ; др

brew link --overwrite ruby

подробности

На самом деле все оказалось довольно просто. Я последовал предложению запустить brew doctor и получил следующие результаты:

Warning: You have unlinked kegs in your Cellar
Leaving kegs unlinked can lead to build-trouble and cause brews that depend on
those kegs to fail to run properly once built. Run `brew link` on these:
    ruby

Поэтому я побежал brew link ruby . Вот что я получил:

Linking /usr/local/Cellar/ruby/2.3.1... v
Error: Could not symlink bin/rake
Target /usr/local/bin/rake
already exists. You may want to remove it:
  rm '/usr/local/bin/rake'

В результате я решил запустить brew link --overwrite ruby и теперь мой Vim снова работает!

6

Я столкнулся с подобной ошибкой при brew upgrade когда libperl не загружается.

dyld: Library not loaded: /usr/local/opt/perl/lib/perl5/5.24.1/darwin-thread-multi-2level/CORE/libperl.dylib
  Referenced from: /usr/local/Cellar/vim/8.0.0636/bin/vim
  Reason: image not found

Исправлено было переустановить сломанную зависимость и vim:

brew uninstall --ignore-dependencies perl
brew uninstall vim
brew install vim
4

Для меня я обнаружил, что brew каким-то образом установил macvim, и он продолжал конфликтовать с OS vim. Попытки использовать обычный vim и запускать команды git, такие как эти ошибки:

$ git commit --amend
dyld: Library not loaded: /System/Library/Perl/5.16/darwin-thread-multi-2level/CORE/libperl.dylib
  Referenced from: /usr/local/Cellar/macvim/7.4-73/MacVim.app/Contents/MacOS/Vim
  Reason: image not found
error: vi died of signal 6
error: There was a problem with the editor 'vi'.
Please supply the message using either -m or -F option.

Поэтому я продолжил и удалил все связанные с vim пакеты, которые установил brew:

$ brew list

И, конечно же, удаление macvim с помощью $ brew uninstall macvim решило проблему

1

Я попытался переустановить, заново связать, удалить все доступные версии и т.д. Для ruby и vim, но ничего не помогло.

Таким образом, я просто решил переименовать файл dylib из

/usr/local/opt/ruby/lib/libruby.2.3.dylib

в

/usr/local/opt/ruby/lib/libruby.2.3.0.dylib

Результатом этого переименования является то, что теперь он прекрасно работает.

0

Если вы получили сообщение, подобное следующему:

dyld: Library not loaded: /usr/local/opt/ruby/lib/libruby.2.4.1.dylib
  Referenced from: /usr/local/bin/vim
  Reason: image not found
error: vim died of signal 6
error: There was a problem with the editor 'vim'.
Please supply the message using either -m or -F option.

и вы управляете своим Ruby с помощью rvm, тогда правильная установка одной переменной среды должна вернуть vim в действие.

Выполните следующие действия, чтобы проверить, применимо ли это к вашей среде:

Определяется ли DYLD_LIBRARY_PATH и правильно ли это ?:

$ env|grep DYLD_LIBRARY_PATH

Где установлен Ruby?

$ type ruby
ruby is hashed (/Users/<USER>/.rvm/rubies/ruby-2.4.1/bin/ruby)

Это показывает, что моим рубином управляет rvm.

Где находится libruby.2.4.1.dylib?

find /Users/<USER>/.rvm/rubies/ruby-2.4.1  -name "*.dylib"

Добавьте каталог "lib" и добавьте его в файл запуска:

echo -e "\nexport DYLD_LIBRARY_PATH=/Users/<USER>/.rvm/rubies/ruby-2.4.1/lib" >> ~/.bashrc

Примечание. Используйте любой файл запуска (~/.profile, ~/bash_exports и т.д.), Который имеет смысл для вашей рабочей станции.

Теперь, когда вы начинаете новый сеанс терминала, ваш vim должен снова работать.

0

В моем случае оказывается, что ruby был установлен, но по причине не связан, поэтому:

варка ссылка рубин

0

Я перестал использовать Homebrew из-за всех его проблем и проблем безопасности.

В любом случае я обновил OSX Yosemite до OSX High Sierra и Macvim перестал работать в терминале. Я получил ошибку:

dyld: Library not loaded: /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/libruby.2.0.0.dylib
  Referenced from: /Applications/MacVim.app/Contents/MacOS/Vim
  Reason: image not found
Abort trap: 6

Я попытался EXPORT'ing путь, как в ответе I3x, но я все еще получил ту же ошибку (да, я открыл новое окно терминала).

Итак, я снова загрузил Macvim . Когда мне сказали, что на моем компьютере уже есть MacVim.app, я остановил установку и изменил имя на MacVim_original.app. Затем я приступаю к установке нового Macvim. После этого macvim снова работал в Терминале. Я запускаю его с помощью команды быстрого доступа:

$ m 1.py 
-1
brew uninstall --force ruby perl vim && brew install vim 

Это то, что сработало для меня.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .