vim ruby mismatch on Mac High Sierra

匿名 (未验证) 提交于 2019-12-03 03:04:01

问题:

I recently upgraded my Mac to High Sierra

After the upgrade, Macvim (mvim) stopped working because (I assume) HighSierra upgraded ruby to 2.3, and mvim is using ruby 2.0.

Following is the error I am getting

dyld: Library not loaded: /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/libruby.2.0.0.dylib

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

Do I need to compile vim again or is there any way to fix this problem?

Thanks in advance.

回答1:

This worked for me. YMMV brew uninstall --purge macvim brew install macvim

[amended] Regarding the upgrade alone option, that may work if you don't have the current version already. The --purge forces a removal and complete reinstall. Also, the build from source option, while it may work, you now own your own mac-vim static snapshot and need to maintain it manually as the app evolves. I'd avoid building from source unless you have very specific needs.



回答2:

I tried brew uninstall install update... All failed. And install_name_tool works for me.

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 


回答3:

This worked for me:

$ brew update  $ brew upgrade macvim 

actual command output:

[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:

Tried to use brew upgrade macvim an error was raised and the failed. What worked for me is to open the MacVim in a normal window (not a iTerm or terminal) the graphic version noticed that a newer version is available and asked if I want to update. Clicked yes, please and done. macvim in terminal or iTerm works just fine (as well as the "window" version).



回答5:

What helped in my case was:

brew link --overwrite vim 

In your case, it might be useful to use the same command for MacVim

brew link --overwrite macvim 


回答6:

first find where is the right libruby path, my is /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/libruby.2.3.0.dylib common the version is changed

find out where is the absolute path of vim

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

change 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 


标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!