web-dev-qa-db-ja.com

OSX 10.10でMacVimを正しいPerlにポイントする方法は?

コマンドラインから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

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

私は見つけました この関連する質問 、それは答えられていません。

1

私には解決策がありますが、それは素晴らしいものではありませんが、MacVimを修正するために機能します。

brew uninstall macvim
brew install macvim
brew linkapps macvim

私のために働いた。うまくいけば、上記の関連する質問が私のPerlバージョンの問題への答えになるでしょう。

5

10.11にアップグレードした後、この問題が発生しましたが、受け入れられた解決策は機能しませんでした。問題は、更新されたMacVimのインストールにあるのではなく、mvimスクリプトが、新しく更新されたものではなく、自分が持っていることすら知らなかった古いMacVimバイナリを見つけていたことがわかりました。

したがって、誰かがこの問題にぶつかり、上記の修正が機能しない場合は、エラー出力の次の行をよく見てください。

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

使用する予定のMacVimの場所を参照していることを確認してください。

(私のものは〜/ bin /で見つけていました)

1
benkc

brew link Perlまたはbrew link --overwrite Perl

アプリをインストールまたはリンクする前にも機能するはずであり、それがおそらく問題の根本的な原因です。

また、異なるバージョンでシンボリックリンクを操作するよりもはるかにクリーンでリスクが少なくなります

0
avelo

Perl5.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

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

0
Miro A.