我刚刚升级了 brew:brew update
但brew upgrade
结果它坏了vim
。运行vim
出现此错误:
dyld: Library not loaded: /usr/local/opt/perl/lib/perl5/5.26.2/darwin-thread-multi-2level/CORE/libperl.dylib
Referenced from: /usr/local/Cellar/vim/8.1.0050/bin/vim
Reason: image not found
Abort trap: 6
现在,.../perl5/5.26.2
已被覆盖.../perl5/5.28.0
。如何更新vim
依赖项?
答案1
这个问题困扰了好几天。不知道是谁干了什么可怕的事情,但是:
您可以switch
(此外pin
)使用以下版本的brew
软件包:
$ brew info perl # lists all the perl version installed
$ brew switch perl 5.26.2
$ brew pin perl # don't let `brew update` change this
然后,我收到一个关于python
损坏/不可用的错误......
$ brew info python
$ brew switch python 3.6.5 # 3.7.0 appears to break things
$ brew pin python
现在,vim
可能在任何版本上都可以工作(例如8.1.0150
),但如果不行,我猜你可以尝试不同的版本,直到有一个版本可以工作...:
$ brew info vim
$ brew switch vim 8.1.0001
$ brew pin vim
答案2
我遇到了同样的问题,但能够保留最新的自制版本并维持vim
功能。
首先,homebrew
作为升级的一部分,将 Python 从 3.6 升级到 3.7 vim
(不确定需要什么切换来防止这种情况发生)。发生这种情况时,您将“丢失”所有模块pip
(它们并没有丢失,只是没有移植到新的安装路径,最好事先进行,pip3 freeze > pip3.txt
这样您就可以轻松恢复您的工作模块集)。
接下来,为了vim
正确启动,我需要在 Homebrew 中重新安装 perl。这会重新运行make
和make install
步骤,我猜这提供了 vim 正在寻找的库链接。
我最初在另一台机器上使用brew switch ...
移回 Perl 5.26.2 的方法,但该方法在这台主机上不起作用。不过,重新安装确实有效。现在,最新版本可以vim
与最新版本python
和一起正常启动perl
。