Brew Upgrade rompió Vim en OS X (dyld: Biblioteca no cargada)


48

No he corrido brew update && brew upgradeen mucho tiempo.

Acabo de hacer una actualización masiva que resultó romper mi Vim.

Esto es lo que obtuve después de correr vim:

dyld: Library not loaded: /usr/local/opt/ruby/lib/libruby.2.3.0.dylib
  Referenced from: /usr/local/bin/vim
  Reason: image not found
Trace/BPT trap: 5

Me encontré con algunos sitios web, pero ninguno de ellos fue realmente útil.

Dijeron que podría estar relacionado rvmpero brew uninstall vim; rvm system; brew install vimno ayudó. Traté de reinstalar mi MacVim también, pero no resolvió el problema.

Agregar export PATH="/usr/local/bin:$PATH"a mi .bash_profiletampoco ayudó.

Aquí está la lista para referencia futura:

¿Qué le pasó a mi Vim? ¿Cómo puedo arreglarlo?


Ahora tal vez podría intentarlo: xcode-select --instally luego brew upgrade, como se sugiere en la sección Actualización de macOS en problemas comunes
disminuya el

Respuestas:


49

Solución

Intente reinstalar rubyy vim, p. Ej.

brew reinstall ruby vim

Solución de problemas

Aquí hay otras sugerencias si las anteriores no ayudarán:

  • Encontrar ninguna referencia a DYLD_LIBRARY_PATH, DYLD_FALLBACK_LIBRARY_PATHo DYLD_FRAMEWORK_PATHvariables ambientales y sacarlos de las secuencias de comandos shell de inicio (por ejemplo ~/.bashrc, ~/.bash_profile, etc.).

3
¡Acabo de actualizar a High Sierra y esto hizo el truco! Gracias.
e_x_p

1
Estaba teniendo el problema con mac vim, así que utilicé este brew reinstall ruby macvimy trabajé como un encanto :)
Crisoforo Gaspar

66
Después de actualizar a High Sierra, ejecuté brew updatey brew upgrade, que actualizó una gran cantidad de software a las versiones de High Sierra y solucionó mi problema.
maffo

27

tl; dr

brew link --overwrite ruby

Detalles

En realidad, resultó ser bastante simple. Seguí la sugerencia de correr brew doctory obtuve estos resultados:

Warning: You have unlinked kegs in your Cellar
Leaving kegs unlinked can lead to build-trouble and cause brews that depend on
those kegs to fail to run properly once built. Run `brew link` on these:
    ruby

Entonces corrí brew link ruby. Esto es lo que conseguí:

Linking /usr/local/Cellar/ruby/2.3.1... v
Error: Could not symlink bin/rake
Target /usr/local/bin/rake
already exists. You may want to remove it:
  rm '/usr/local/bin/rake'

Como resultado, decidí correr brew link --overwrite rubyy ahora mi Vim está funcionando una vez más.


2
Maldición brew upgrade, esto me da mucha mierda. Muchas gracias por ofrecer un conjunto claro de instrucciones para solucionar esto.
Sukima

No funcionó para mí después de actualizar a Catalina:Warning: Refusing to link macOS-provided software: ruby
Cory Klein

7

Me encontré con un error similar al hacer brew upgradeque libperl no se carga.

dyld: Library not loaded: /usr/local/opt/perl/lib/perl5/5.24.1/darwin-thread-multi-2level/CORE/libperl.dylib
  Referenced from: /usr/local/Cellar/vim/8.0.0636/bin/vim
  Reason: image not found

La solución fue reinstalar la dependencia rota y vim:

brew uninstall --ignore-dependencies perl
brew uninstall vim
brew install vim

1
Mi error estaba relacionado con la biblioteca ruby ​​en la operación, pero después de intentar algunas correcciones de enlace, descubrí que necesitaba desinstalar / instalar vim. Recientemente había actualizado Ruby.
jerome

Encontré estos mismos pasos aquí github.com/Homebrew/brew/issues/2356#issuecomment-301830565 y funcionó.
Gabe

4

Para mí, descubrí que brew de alguna manera instaló macvim y seguía en conflicto con el stock de OS vim. Intenta usar vim regular y ejecutar comandos git como estos produce errores:

$ git commit --amend
dyld: Library not loaded: /System/Library/Perl/5.16/darwin-thread-multi-2level/CORE/libperl.dylib
  Referenced from: /usr/local/Cellar/macvim/7.4-73/MacVim.app/Contents/MacOS/Vim
  Reason: image not found
error: vi died of signal 6
error: There was a problem with the editor 'vi'.
Please supply the message using either -m or -F option.

Así que seguí adelante y desinstalé todos los paquetes relacionados con vim que brew había instalado:

$ brew list

Y seguramente eliminar macvim con $ brew uninstall macvimresuelto el problema


Este fue mi problema también. Gran respuesta; ¡Gracias!
rotarydial

1

Intenté reinstalar, volver a vincular, eliminar todas las versiones disponibles, etc. para ruby ​​y vim, pero nada realmente ayudó.

Por lo tanto, decidí cambiar el nombre de mi archivo dylib de

/usr/local/opt/ruby/lib/libruby.2.3.dylib

a

/usr/local/opt/ruby/lib/libruby.2.3.0.dylib

El resultado de ese cambio de nombre es que ahora funciona perfectamente bien.


Es posible que desee considerar usar un enlace simbólico aquí en lugar de cambiar el nombre del archivo, de modo que cualquier cosa que haga referencia a libruby2.3.dylib no se rompa también.
Derwent

0

Si recibe un mensaje como el siguiente:

dyld: Library not loaded: /usr/local/opt/ruby/lib/libruby.2.4.1.dylib
  Referenced from: /usr/local/bin/vim
  Reason: image not found
error: vim died of signal 6
error: There was a problem with the editor 'vim'.
Please supply the message using either -m or -F option.

y administras tu Ruby usando rvm, luego configurar correctamente una variable de entorno debería hacer que tu vim vuelva a la acción.

Siga estos pasos para ver si se aplica a su entorno:

¿Está definido DYLD_LIBRARY_PATH y es correcto ?:

$ env|grep DYLD_LIBRARY_PATH

¿Dónde está instalado Ruby?

$ type ruby
ruby is hashed (/Users/<USER>/.rvm/rubies/ruby-2.4.1/bin/ruby)

Eso muestra que mi rubí es administrado por rvm.

¿Dónde se encuentra libruby.2.4.1.dylib?

find /Users/<USER>/.rvm/rubies/ruby-2.4.1  -name "*.dylib"

Agregue el directorio "lib" y añádalo a su archivo de inicio:

echo -e "\nexport DYLD_LIBRARY_PATH=/Users/<USER>/.rvm/rubies/ruby-2.4.1/lib" >> ~/.bashrc

Nota: Use cualquier archivo de inicio (~ / .profile, ~ / bash_exports, etc.) que tenga sentido para su estación de trabajo.

Ahora, cuando inicia una nueva sesión de terminal, su vim debería estar funcionando nuevamente.


0

En mi caso, resultó que Ruby estaba instalado, pero por razones no vinculadas, así que:

elaborar cerveza ruby


0

Mi error (esto ocurrió después de la actualización de homebrew):

dyld: Biblioteca no cargada: /usr/local/opt/ruby/lib/libruby.2.6.dylib Referenciada desde: / usr / local / bin / vim Motivo: imagen no encontrada [1] 2800 abortar vim

Esto tomó una hora de mi vida. Mi solución:

Reinstalar ruby ​​$ brew reinstalar ruby

Comentarios de Homebrew:

ruby es solo de barril, lo que significa que no estaba vinculado a / usr / local, porque macOS ya proporciona este software y la instalación de otra versión en paralelo puede causar todo tipo de problemas.

Si necesita tener ruby ​​primero en su ejecución PATH: echo 'export PATH = "/ usr / local / opt / ruby ​​/ bin: $ PATH"' >> ~ / .zshrc

Para que los compiladores encuentren ruby, es posible que deba configurar: export LDFLAGS = "- L / usr / local / opt / ruby ​​/ lib" export CPPFLAGS = "- I / usr / local / opt / ruby ​​/ include"

Para que pkg-config encuentre ruby, es posible que deba configurar: exportar PKG_CONFIG_PATH = "/ usr / local / opt / ruby ​​/ lib / pkgconfig" ==> Resumen 🍺 /usr/local/Cellar/ruby/2.6.3: 19,372 archivos , 32.4MB Error: ¡No se pudo eliminar ruby ​​backup keg! Hágalo manualmente: sudo rm -rf /usr/local/Cellar/ruby/2.4.2_1.reinstall

Seguí las instrucciones de homebrew y eliminé manualmente el barril de reserva ruby

$ sudo rm -rf /usr/local/Cellar/ruby/2.4.2_1.reinstall

Después de ingresar la contraseña e intentar abrir vim nuevamente con

$ vim

Vim abrió y sonreí un poco y aparté la transpiración de frustración. :)


-1

Dejé de usar Homebrew debido a todos sus problemas y problemas de seguridad.

En cualquier caso, he actualizado a partir OSX Yosemitede OSX High Sierray MacVim dejó de funcionar en el terminal. Recibí el error:

dyld: Library not loaded: /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/libruby.2.0.0.dylib
  Referenced from: /Applications/MacVim.app/Contents/MacOS/Vim
  Reason: image not found
Abort trap: 6

Intenté EXPORTAR una ruta como en la respuesta de I3x, pero aún recibí el mismo error (sí, abrí una nueva ventana de Terminal).

Entonces, descargué macvim nuevamente. Cuando me dijeron que ya había un MacVim.app en mi computadora, detuve la instalación y cambié el nombre a MacVim_original.app. Luego procedo a instalar un nuevo macvim. Después de eso, macvim volvió a trabajar en Terminal. Lo ejecuto con un comando de acceso directo:

$ m 1.py 

1
Al hacer declaraciones como "todos los problemas y cuestiones de seguridad", considere incluir enlaces a la documentación de los mismos. (=
ELLIOTTCABLE


Er. disfruta tu voto negativo, entonces. Simplemente estoy ofreciendo una explicación de por qué tienes una, ya que es una práctica aceptada (como citar tus fuentes) aquí en Stack Exchange. ¯\_(ツ)_/¯
ELLIOTTCABLE

-1
brew uninstall --force ruby perl vim && brew install vim 

Esto es lo que funcionó para mí.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.