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
也没有帮助。
以下是供将来参考的列表:
- 如何在 OSX 10.10 上将 MacVim 指向正确的 perl?
- 如果安装了 Homebrew ruby 但 /usr/bin/ruby 在 PATH 中排在第一位,vim 7.4.488 构建会失败
- brew 使用 RVM(Ruby 1.9.3)、MacVim 和 Command-T 在终端中安装了 Vim
- OS X El Capitan:无法打开库“libc.dylib”
我的 Vim 出了什么问题?我该如何修复它?
答案1
解决方案
尝试重新安装,ruby
例如vim
brew reinstall ruby vim
故障排除
如果以上建议没有帮助的话,这里还有其他建议:
DYLD_LIBRARY_PATH
查找对、DYLD_FALLBACK_LIBRARY_PATH
或环境变量的任何引用DYLD_FRAMEWORK_PATH
,并将其从启动 shell 脚本中删除(例如~/.bashrc
、~/.bash_profile
等)。
答案2
总结
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 又可以工作了!
答案3
brew upgrade
我在执行libperl 未加载 时遇到了类似的错误。
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
答案4
我尝试重新安装、重新链接、删除 ruby 和 vim 的所有可用版本等,但没有任何帮助。
因此,我决定将我的 dylib 文件从
/usr/local/opt/ruby/lib/libruby.2.3.dylib
到
/usr/local/opt/ruby/lib/libruby.2.3.0.dylib
重命名后的结果是它现在运行良好。