web-dev-qa-db-ja.com

OS X上でVimが破損したためアップグレードが失敗した(dyld:ライブラリがロードされていない)

私は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 vim; rvm system; brew install vimは役に立ちませんでした。私も私のMacVimを再インストールしようとしましたが、それは問題を解決しませんでした。

私のexport PATH="/usr/local/bin:$PATH".bash_profileを追加しても役に立ちませんでした。

これは将来の参考のためのリストです:

私のVimはどうしたの?どうすれば修正できますか?

43

tl; dr

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は再び働いています!

25

溶液

Rubyvimを再インストールしてください。

brew reinstall Ruby vim

トラブルシューティング

上記で解決しない場合は、他の提案があります。

  • DYLD_LIBRARY_PATHDYLD_FALLBACK_LIBRARY_PATHまたはDYLD_FRAMEWORK_PATH環境変数への参照を見つけ、それらをスタートアップシェルスクリプトから削除します(例:~/.bashrc~/.bash_profileなど)。
41
kenorb

Libperlがロードされない場合にbrew upgradeを実行すると、私は同じようなエラーに遭遇しました。

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
7
Andy

私にとって、私はどういうわけかmacwimをインストールしたことを発見しました、そしてそれはOSのストックウイルスと衝突し続けました。通常の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.

そこで私は先に行き、brewがインストールしていたvim関連のパッケージをアンインストールしました。

$ brew list

そして$ brew uninstall macvimでmacvimを確実に削除することで問題が解決しました

4
kip2

私はRubyとvimのために再インストール、再リンク、すべての利用可能なバージョンの削除などを試みましたが、何も本当に役に立ちませんでした。

したがって、私はちょうど私のdylibファイルの名前を変更することにしました。

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

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

その名前変更の結果は、それが今では完全にうまく機能するということです。

1
Ueffes

次のようなメッセージが表示されたら:

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.

そして、あなたはrvmを使ってあなたのRubyを管理し、そして一つの環境変数を適切に設定することはあなたの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)

これは私の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
l3x

私の場合は、Rubyはインストールされていましたが、リンクが張られていません。

ブリューリンクRuby

0
kroe

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

I3xの答えのようにEXPORTしてパスを試してみましたが、それでも同じエラーが発生しました(はい、新しいターミナルウィンドウを開きました)。

それで、私はまた macvim をダウンロードしました。自分のコンピュータにすでにMacVim.appがあると言われたときに、インストールを中止し、名前をMacVim_original.appに変更しました。それから私は新しいmacvimのインストールに進みます。その後、macvimは再びターミナルで働きました。ショートカットコマンドで起動します。

$ m 1.py 
0
7stud

私のエラー(これは自作アップデート後に発生しました):

dyld:ライブラリがロードされていません:/usr/local/opt/Ruby/lib/libruby.2.6.dylib参照元:/ usr/local/bin/vim理由:image not found [1] 2800 abort vim

これには1時間かかりました。私の解決策:

再インストールRuby $ brew再インストールRuby

Homebrewからのフィードバック:

Rubyは樽のみです。つまり、macOSはすでにこのソフトウェアを提供しており、別のバージョンを並行してインストールするとあらゆる種類のトラブルが発生する可能性があるため、/ usr/localにシンボリックリンクされません。

PATHで最初にRubyを実行する必要がある場合:echo 'export PATH = "/ usr/local/opt/Ruby/bin:$ PATH"' >>〜/ .zshrc

コンパイラがRubyを見つけるには、次の設定が必要な場合があります。export LDFLAGS = "-L/usr/local/opt/Ruby/lib" export CPPFLAGS = "-I/usr/local/opt/Ruby/include 」

Pkg-configでRubyを見つけるには、次の設定が必要な場合があります。export PKG_CONFIG_PATH = "/ usr/local/opt/Ruby/lib/pkgconfig" ==>まとめ???? /usr/local/Cellar/Ruby/2.6.3:19,372個のファイル、32.4MBエラー:Rubyバックアップ樽を削除できませんでした!手動で行います:Sudo rm -rf /usr/local/Cellar/Ruby/2.4.2_1.reinstall

Homebrewの指示に従い、手動でRubyバックアップ樽を削除しました

$ Sudo rm -rf /usr/local/Cellar/Ruby/2.4.2_1.reinstall

パスワードを入力して、再びvimを開こうとした後

$ vim

Vimが開き、少し微笑んで欲求不満の汗を払いのけました。 :)

0
Pip