1

Когда я пытаюсь использовать MacVim из командной строки, я получаю

dyld: Library not loaded: /System/Library/Perl/5.12/darwin-thread-multi-2level/CORE/libperl.dylib
Referenced from: /Applications/MacVim.app/Contents/MacOS/Vim
Reason: image not found
Trace/BPT trap: 5

Я попробовал brew install -update perl , но потом обнаружил, что проблема не в Perl. Это где Вим смотрит.

$ ls /usr/local/opt/perl/lib/
5.20.1

Я пробовал brew install -update macvim , но версия perl из командной строки тоже не работает.

MBP:mysite $ perl -v

This is perl 5, version 18, subversion 2 (v5.18.2) built for darwin-thread-multi-2level

Резюме, у меня MacVim ищет Perl версии 5.12; У меня есть терминал, использующий Perl 5.18.2; У меня установлена версия 5.20.1. Как мне все переписать?

 $ ls -l /usr/bin/perl*
-rwxr-xr-x   1 root  wheel  58416 Sep  9  2014 /usr/bin/perl
-rwxr-xr-x   1 root  wheel  35600 Sep  9  2014 /usr/bin/perl5.16
-rwxr-xr-x   1 root  wheel  35600 Sep  9  2014 /usr/bin/perl5.18
-rwxr-xr-x  38 root  wheel    811 Sep  9  2014 /usr/bin/perlbug
...

Я нашел этот связанный вопрос, на который нет ответа.

4 ответа4

5

У меня есть решение, не очень хорошее, но оно работает для исправления MacVim.

brew uninstall macvim
brew install macvim
brew linkapps macvim

Работал на меня. Надеемся, что вышеупомянутый вопрос станет ответом на мою проблему с версией Perl.

1

Я столкнулся с этой проблемой после обновления до 10.11, и принятое решение не сработало для меня. Я обнаружил, что проблема была не в обновленной установке MacVim, а в том, что скрипт mvim находил старый двоичный файл MacVim, который я даже не знал, а только что обновленный.

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

  Referenced from: /Applications/MacVim.app/Contents/MacOS/Vim

и убедитесь, что он ссылается на местоположение MacVim, которое вы ожидаете использовать!

(Моя находила одну в ~/bin/)

0

brew link perl или brew link --overwrite perl

перед установкой или связыванием приложения также должно работать, и это, вероятно, является основной причиной проблемы.

Также это намного более чисто и менее рискованно, чем играть с символическими ссылками в разных версиях.

0

Вы можете попробовать символическую ссылку на Perl 5.18 как 5.12:

sudo ln -s /System/Library/Perl/5.18 /System/Library/Perl/5.12

Это позаботится о проблеме Perl, но это привело к следующей ошибке:

mvim
dyld: Library not loaded: /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/libruby.1.dylib
  Referenced from: /Applications/MacVim.app/Contents/MacOS/Vim
  Reason: image not found

Это потенциально более серьезная проблема, поскольку существует большая вероятность несовместимости между библиотеками Ruby 1.8 и Ruby 2.0.

ll /System/Library/Frameworks/Ruby.framework/Versions/
total 4.0K
drwxr-xr-x 7 root 238 Jul  3 16:39 2.0
lrwxr-xr-x 1 root   3 Jul  3 14:18 Current -> 2.0

На данный момент я сдался и использовал вышеуказанный метод, который работал нормально.

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