OSX 10.10でMacVimを正しいperlに向ける方法は?


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ではないことがわかりました。Vimが探している場所です。

$ 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

要約、Perlバージョン5.12をMacVimで探しています。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
...

私は答えられていないこの関連する質問を見つけました。

回答:


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

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

この時点で、私は上記の方法をあきらめて使用しましたが、うまくいきました。


1
これはひどい考えです。しないでください。Perl 5.12および5.18ライブラリは互換性がありません。それらをリンクすると、後に奇妙なエラーが発生します。
夕暮れの

0

brew link perl または brew link --overwrite perl

アプリをインストールまたはリンクする前でも動作するはずです。これが問題の根本原因である可能性があります。

また、異なるバージョンでシンボリックリンクを使用するよりもクリーンでリスクの少ない方法です

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.