brew upgradeはOS XでVimを壊しました(dyld:Library not loaded)


47

私は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はどうなりましたか?どうすれば修正できますか?


おそらく、次のことを試すことができます。xcode-select --install次にbrew upgrade、「よくある問題でmacOSアップグレードする」セクションで提案されているように、
テーパー

回答:


48

溶液

再インストールrubyしてみてくださいvim、例えば

brew reinstall ruby vim

トラブルシューティング

上記が役に立たない場合の他の提案はここにあります:

  • 参照を検索DYLD_LIBRARY_PATHDYLD_FALLBACK_LIBRARY_PATHまたはDYLD_FRAMEWORK_PATH環境変数および起動シェルスクリプト(例えばからそれらを削除~/.bashrc~/.bash_profileなど)。

3
ハイシエラにアップグレードしたばかりで、これでうまくいきました!ありがとう。
e_x_p

1
私はmac vimで問題を抱えていたので、代わりにこれを使用して brew reinstall ruby macvim、魅力のように働きました:)
Crisoforo Gaspar

6
High Sierraにアップグレードした後、私はを実行brew updateしましたbrew upgrade。これにより、多くのソフトウェアがHigh Sierraバージョンにアップグレードされ、問題が修正されました。
マフォ

27

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


2
くそーbrew upgrade、私にこのくだらないことをたくさんします。これを修正するための明確な指示を提供してくれてありがとう。
スキマスイッチ

7

brew upgradelibperlがロードされない場合に同様のエラーが発生しました。

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

1
私のエラーはopのrubyライブラリに関連していましたが、いくつかのリンク修正を試みた後、vimをアンインストール/インストールする必要があることがわかりました。最近ルビーを更新しました。
ジェローム

ここで同じ手順をgithub.com/Homebrew/brew/issues/2356#issuecomment-301830565で見つけましたが、うまくいきました。
gabe

4

私にとっては、brewがどういうわけかmacvimをインストールし、OS stock 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.

そこで、先に進み、brewがインストールしたvim関連のパッケージをアンインストールしました。

$ 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

この名前変更の結果、現在は完全に機能します。


libruby2.3.​​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.

そして、rvmを使用してRubyを管理し、1つの環境変数を適切に設定すると、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

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

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

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

ルビーを再インストール$ brew再インストールルビー

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

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

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

コンパイラーがルビーを見つけるには、次を設定する必要があります。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 files 、32.4MBエラー:rubyバックアップ樽を削除できませんでした!手動で行います:sudo rm -rf /usr/local/Cellar/ruby/2.4.2_1.reinstall

homebrewの指示に従って、ルビーバックアップ樽を手動で削除しました

$ sudo rm -rf /usr/local/Cellar/ruby/2.4.2_1.reinstall

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

$ vim

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


-1

Homebrewの問題とセキュリティの問題のため、Homebrewの使用を停止しました。

いずれにしても、からにアップグレードOSX YosemiteOSX 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の答えのようにパスをエクスポートしようとしましたが、まだ同じエラーが発生しました(はい、新しいターミナルウィンドウを開きました)。

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

$ m 1.py 

1
「すべての問題とセキュリティの問題」のようなステートメントを作成する場合、そのドキュメントへのリンクを含めることを検討してください。(=
エリオッタブル


えー それでは、下票をお楽しみください。ここでStack Exchangeで受け入れられている慣行(ソースを引用するのと同じように)のように、なぜあなたはそれを手に入れたのかの説明を提供しているだけです。¯\_(ツ)_/¯
エリオッタブル

-1
brew uninstall --force ruby perl vim && brew install vim 

これは私のために働いたものです。

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