vim не может загрузить динамическую библиотеку

630
nac001

Я только что обновил отвар: 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зависимости?

2
Понятия не имею, что они сделали, но я не могу заставить работать более старые версии `vim`, я потерял поддержку` python3` и `jedi-vim` больше не работает. Что в мире сделал `brew` /` vim` ?! dwanderson 5 лет назад 0

2 ответа на вопрос

3
dwanderson

Бороться с этим уже несколько дней. Не знаю, кто сделал то, что ужасно, но:

Вы можете 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 
Только что проверил. `vim / 8.1.0150` работает с` perl / 5.26.2` и `python / 3.6.5_1`. У `vim / 8.1.0050` есть проблемы. nac001 5 лет назад 0
О, хм - когда я `brew install vim --update` пытается установить` 8.1.0150`, и в качестве зависимости пытается установить `python 3.7.0`. Если честно, я не совсем уверен, какая комбинация была проблемной; Я просто знаю, что вышесказанное работает для меня. Я только что понял, как закрепить, так что может быть достаточно закрепить `perl` и` python`? Рад, что это работает, хотя! ** обновлено **, чтобы иметь более четкую формулировку dwanderson 5 лет назад 0
1
zumiflow

Я столкнулся с той же проблемой, но смог сохранить самые свежие домашние выпуски и поддерживать vimфункциональность.

Во-первых, homebrewобновляет Python с 3,6 до 3,7 в рамках vimобновления (не уверен, какой переключатель необходим для предотвращения этого). Когда это произойдет, вы «потеряете» все свои pipмодули (они не потеряны, они просто не перенесены на новый путь установки, лучше всего до pip3 freeze > pip3.txtэтого, чтобы вы могли легко восстановить свой рабочий набор модулей).

Далее, vimчтобы правильно запустить, мне нужно было запустить переустановку perl в homebrew. Это перезапустило makeи make installшаги, которые я предполагаю, при условии, что ссылки на библиотеку ищет vim.

Изначально у меня была другая машина, работающая с brew switch ...методом возврата к Perl 5.26.2, но на этом хосте это не сработало. Однако переустановка сработала. Теперь актуальная vimверсия запускается правильно наряду с современной pythonи perl.