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

我最近将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还是有办法解决这个问题?

提前致谢。

这对我有用。 YMMV brew uninstall --purge macvim brew install macvim

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

 ➜ ~ 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卸载安装更新…全部失败了。 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 

这对我有用:

 $ 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]$ 

首先找到正确的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 

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

在我的案例中有什么帮助:

 brew link --overwrite vim 

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

 brew link --overwrite macvim