Mac High Sierra上的vim ruby​​不匹配

时间:2017-11-14 05:42:10

标签: ruby macos vim macos-high-sierra

我最近将我的Mac升级为 High Sierra

升级后,Macvim(mvim)停止工作,因为(我假设)HighSierra将ruby升级到2.3,而mvim正在使用ruby 2.0。

以下是我得到的错误

  

dyld:未加载库:   /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/libruby.2.0.0.dylib

参考:/usr/local/Cellar/macvim/8.0-134/MacVim.app/Contents/bin/../MacOS/Vim

我是否需要再次编译vim,或者有什么方法可以解决这个问题吗?

提前致谢。

6 个答案:

答案 0 :(得分:27)

这对我有用。因人而异 brew uninstall --purge macvim brew install macvim

[已修订]关于upgrade单独选项,如果您还没有当前版本,则该选项可能有效。 --purge强制删除并完成重新安装。 此外,build from source选项虽然可能有效,但您现在拥有自己的mac-vim静态快照,并且需要在应用程序发展时手动维护它。 除非你有非常具体的需求,否则我会避免从源代码构建。

答案 1 :(得分:12)

➜  ~ vim
dyld: Library not loaded: /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/libruby.2.0.0.dylib
  Referenced from: /usr/local/bin/vim
  Reason: image not found

我试过brew uninstall install update ...全部失败了。 install_name_tool对我有用。

install_name_tool -change /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/libruby.2.0.0.dylib /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/libruby.2.3.0.dylib /usr/local/bin/vim

答案 2 :(得分:10)

首先找到正确的libruby路径,我的是:/System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/libruby.2.3.0.dylib

版本已经发生变化。

找出vim的绝对路径:

$ which vim
vim: aliased to your-path-of-vim

改变dyld:

sudo install_name_tool -change /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/libruby.2.0.0.dylib /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/libruby.2.3.0.dylib your-path-of-vim

答案 3 :(得分:7)

这对我有用:

$ brew update

$ brew upgrade macvim

实际命令输出:

[bin]$ brew upgrade macvim
==> Upgrading 1 outdated package, with result:
macvim 8.0-142
==> Upgrading macvim --with-override-system-vim
==> Downloading https://github.com/macvim-dev/macvim/archive/snapshot-142.tar.gz
==> Downloading from https://codeload.github.com/macvim-dev/macvim/tar.gz/snapshot-142
######################################################################## 100,0%
==> ./configure --with-features=huge --enable-multibyte --with-macarchs=x86_64 --enable-perlinterp --enable-rubyinterp --enable-tclinterp --enable-ter
==> make
  /usr/local/Cellar/macvim/8.0-142: 2,147 files, 34.2MB, built in 3 minutes 15 seconds
[bin]$ 

答案 4 :(得分:1)

尝试使用brew upgrade macvim引发错误并失败。对我有用的是在普通窗口(不是iTerm或终端)中打开MacVim图形版本注意到有更新版本可用并询问我是否要更新。点击了yes, please并完成了。终端或iTerm中的macvim工作正常(以及“窗口”版本)。

答案 5 :(得分:1)

在我的案例中有所帮助:

brew link --overwrite vim

在您的情况下,对MacVim使用相同的命令可能很有用

brew link --overwrite macvim