Utilicé rvm para instalar ruby 1.9.3. A pesar de que se instaló correctamente, se quejó de libyaml. y ahora cada vez que quiero instalar una gema (digamos rieles) aparece esta advertencia:
It seems your ruby installation is missing psych (for YAML output). To eliminate this warning, please install libyaml and reinstall your ruby.
Yo uso Mac os X 10.7 (Lion).
ruby-on-rails
ruby
macos
rvm
Pouya
fuente
fuente
brew doctor
. ¿Enumera un problema con el enlace libyaml?rm -rf /usr/local/lib/ruby/gems/ && brew reinstall ruby
como se indicó en el problema resuelto oficial de Gtihub de homebrew-coreRespuestas:
En mi caso
y
resuelve el problema.
Para las personas que usan Ubuntu, asegúrese de que
libtool
esté instalado antes de los pasos anteriores:Para usuarios de macOS (con homebrew):
fuente
rvm package install libyaml
rvm pkg install libyaml
. Dervm usage
:pkg :: Install a dependency package {readline,iconv,zlib,openssl}
.package
.rvm pkg install libyaml
, recomienda reinstalar todos los rubíes conrvm reinstall all --force
. Puede ser útil si tiene más de uno.rvm reinstall 1.9.3 --with-libyaml-dir=/home/rails/.rvm/usr
lo sugerido en serverfault.com/questions/442150/…para ubuntu y rvm
trabajó
fuente
Si no usa rvm, sino que está construyendo e instalando ruby 1.9.3 desde cero, por ejemplo, está administrando sus versiones de ruby con rbenv , primero debe instalar libyaml. Consíguelo en http://pyyaml.org/ ; por el momento, el archivo que desea es http://pyyaml.org/download/libyaml/yaml-0.1.4.tar.gz . Abra el tarball y el CD en la carpeta resultante. Luego:
Ahora estás listo para construir rubí. Descargue ruby desde http://ftp.ruby-lang.org/pub/ruby/ . Abra el tarball y el CD en la carpeta resultante. Ahora:
(O posiblemente
sudo make install
, dependiendo de dónde lo esté colocando). Si usa rbenv, sabrá que ha funcionado si cambia arbenv global 1.9.3-p194
(o como se llame su versión) ygem --version
funciona sin advertencia. Eso funcionó para mí en Mac OS X 10.6.8. ( Actualización : acabo de probar esto en Mac OS X 10.8.1 y parece que también funcionó bien allí).fuente
gem --version
sonidos correctos, pero tal vez usted tiene su camino munged debido uso anterior de RVM/usr/local
al configurar yaml, luego configure ruby con--with-opt-dir=/path/to/yaml/prefix --with-yaml --prefix=/path/to/ruby/prefix
Es lo que funcionó para mí (en Snow Leopard).
fuente
En mi caso, la solución fue agregar la
psych
gema al Gemfile.fuente
Tuve este problema libyaml no compilaría. Resulta que me faltaba libtool.
Eso resolvió mi problema.
fuente
Si ha instalado ruby en macOS con homebrew, pruebe esta solución .
rm -rf /usr/local/lib/ruby/gems/ && brew reinstall ruby
Tenga en cuenta que esto eliminará todas las gemas instaladas. Es mejor guardar una lista de gemas instaladas
gem list
antes de ejecutar esto.fuente
gem list
es lo que causa el error en primer lugar (para mí).fuente
brew doctor
problemas me lo solucionó. Obtuve un error muy similar al error del interrogador al intentarlogem install jekyll
. Todos los comandos a través de rvm también estaban dando errores. El problema subyacente y no tan obvio es que homebrew, supongo que el medio por el cual rvm instala cosas, tenía problemas. Recientemente me actualicé a Mavericks en Mac OS. En mi caso, resolver todos losbrew doctor
problemas eliminó cada mensaje de error. Ahora todo funciona sin problemas.Finalmente lo arreglé. El problema era que, aunque instalé libyaml con brew, nunca estaba vinculado. Tuve que eliminar un archivo de encabezado conflictivo y luego
brew link libyaml
.fuente
Instalando ruby con rvm para mac osx, use autolibs para instalar libyaml y primero desinstalar libyaml ayuda.
Esto funcionó para mí:
fuente
Tuve el mismo problema (Lion 10.7.4) y lo solucioné actualizando rvm y reinstalando ruby
1) actualizar rvm https://rvm.io//rvm/install/
2) Luego use rvm para reinstalar ruby 1.9.3 (que se había instalado previamente con la versión anterior de rvm)
fuente
Reinstalé ruby 1.9.3 con soporte de libyaml:
Me aseguré de usar 1.9.3 antes de instalar psych:
Instalé psych:
fuente
recargue su .rvmrc (cd out, cd in)
fuente
Ninguna de estas respuestas funcionó para mí.
Encontré mi respuesta en https://github.com/sstephenson/ruby-build/issues/119 Estoy en la máquina virtual Centos 6.3.
DEBE instalar libyaml antes de instalar ruby. SI YA instaló ruby, debe deshacerse de los archivos antes de compilar la fuente nuevamente.
fuente
Construí los archivos libyaml por separado de la fuente y los instalé en / usr / local / lib. El rubí que creó RVM todavía no los veía, y en lugar de muck con el archivo MAKE o el sistema LD_LIBRARY_PATH acabo de copiar / usr / local / lib / libyaml * a ~ / .rvm / rubies / ruby-1.9.3-p327 / lib /
Eso calmó la advertencia.
fuente
Esto es lo que funcionó para mí en Ubuntu:
- instalar libyaml-dev (sudo apt-get install libyaml-dev)
- instalar rvm + ruby 1.9.3
fuente
Intenté todas estas respuestas y todavía no pude hacerlo funcionar. Instalé libyaml con homebrew y luego instalé Ruby 1.9.3 y 2.0.0 con rvm. Cada vez se quejaba de que me faltaba psicología (libyaml). Pero tratar de instalar libyaml me dijo que ya estaba instalado. Enjuague, repita. Urgh
Finalmente, lo que hice fue desinstalar libyaml. Luego habilité autolibs en rvm , que (al menos en OSX) permite que rvm instale y administre dependencias más directamente. Ahora, cuando instalé los Rubies, rvm pudo instalar libyaml y reconocer que estaba en el lugar correcto.
Entonces, si ha probado todas las otras opciones, intente eliminar libyaml y luego instale Rubies. Es intuitivo por los mensajes de error, pero eso fue lo que finalmente funcionó para mí.
fuente
Tuve el mismo problema ( Cent OS 5.7 ), ninguna de las soluciones anteriores me funcionó.
Después de hacer varias reinstalaciones, me di cuenta de que está buscando yaml en versión ruby en
1.9.1
lugar de1.9.3
. Así que degradé¡Y funcionó 8D!
fuente
En CentOS 6.3 ninguno de los anteriores funcionó. Sin embargo, la instalación de libyaml desde la fuente antes de instalar ruby resolvió el problema.
y entonces
fuente
Estoy usando
y también recibí el siguiente error durante la instalación del paquete
Aquí hay tres formas diferentes de resolver este error sin tener que instalar gemas psych
alter /etc/ld.so.conf
Arreglar la instalación de rvm ruby 1.9.3 a través de
fuente
También luché con los mismos fracasos
rvm install ruby-2.0.0
durante muchas, MUCHAS horas. Había probado todos los métodos diferentes para instalar libyaml;wget source
,yum
Yrvm
. También probé todos los diferentes enfoques enumerados en hilos similares. Como probé todos los métodos diferentes, tuve varias instalaciones y ubicaciones de libyaml.RVM es perfectamente capaz de instalar las dependencias necesarias en
~/.rvm
. Simplemente eliminar los archivos libyaml de la instalación que no es RVM solucionó este problema para mí:¡Trabajos!
fuente
Método de instalación rubí NO-RVM.
DESACTIVE rpmforge editando este archivo y establezca habilitado = 0% sudo vi /etc/yum.repos.d/rpmforge.repo
El libyaml-devel es la clave.
Actualice su ruta y fuente .cshrc
Establezca su GEM_HOME en .cshrc y fuente
fuente
Si está construyendo ruby desde la fuente (construí 1.9.3 en Fedora 20), necesitará esto antes de hacer la configuración / make para construir ruby:
(además de yum install libyaml.) Similar a la respuesta de Francis usando rpmforge arriba.
fuente
Estaba teniendo este error y noté que tenía instaladas diferentes versiones de Ruby con HomeBrew, junto con muchas gemas que ya no usaba. Entonces hizo una limpieza completa como esta:
Si no usa un
Gemfile
, asegúrese de saber qué gemas reinstalar.fuente
En mi caso, todo lo que necesitaba hacer era
Ahora, FWIW,
gem list
incluyefuente
Pasé unas horas intentando que mi error desapareciera y ninguna de las respuestas aquí se ajustaba a mi caso, así que pensé en publicar cómo lo resolví ...
En mi caso cuando me encontré
gem list | grep psych
, tuve el siguiente resultado:psych(default: 3.1.0, default: 3.0.2)
.Aparentemente, desde la versión 2.5.0, ruby depende de la versión más nueva de psych (3.1.0) y tener ambos configurados como predeterminados estaba arruinando todo. Tenga en cuenta que nunca terminé descubriendo por qué ambos estaban configurados como predeterminados: borré por completo las versiones rvm y ruby de mi computadora debido a esto.
Entonces, para eliminar la versión anterior (3.0.2) de la configuración predeterminada, diríjase a
~/.rvm/gems/ruby-x.x.x@global/specifications/default
. Si lo ejecutals | grep psych
, devolverá ambas versiones de la gema aquí. Si desea mantener 3.1.0 como predeterminado, simplemente ejecutemv psych-3.0.2.gemspec ../
y luego intente ejecutargemlist
para asegurarse de que solo se enumere una versión como predeterminada ahora ...tl; dr
cd /.rvm/gems/ruby-x.x.x@global/specifications/default
mv psych-3.0.2 ../
¡Espero que esto ayude a alguien!
fuente
En Snow Leopard, la solución de Catharz no funcionó para mí. Esta solución, sin embargo, hizo:
(La reinstalación de rvm me dio una advertencia acerca de que clang no tenía la opción "--with-libyaml" pero resolvió el mensaje de error independientemente).
fuente
Esto funcionó para mí al menos en Ubuntu 10.04
$ sudo apt-get install libtool
$ rvm reinstalar 1.9.3
fuente
En Solaris:
para agregar
/usr/local/lib
a la ruta de búsqueda de la biblioteca compartida (ver man crle)fuente
Cuando cambié de 64 bits a 32 bits en Snow Leopard 10.6.8, reinstalé ruby (utilicé rvm) para ejecutar en 32 bits y encontré el mismo problema. Así que simplemente 'limpié' todo lo que caché de rvm antes y problemas resueltos. Espero que este consejo pueda ayudar a alguien.
Por cierto, si aún encuentra este problema, creo que puede intentarlo:
fuente