ruby-on-rails - sierra - rvm for windows 10
cómo resolver el error "la instalación de ruby no tiene psiquiatría"? (30)
Creé los archivos libyaml por separado del código fuente y los instalé en / usr / local / lib. El rubí que RVM creó todavía no los vio, y en lugar de ensuciar 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.
Usé rvm para instalar ruby 1.9.3. a pesar de que se instaló con éxito, se quejó de libyaml. y ahora cada vez que quiero instalar una gema (por ejemplo, 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).
Cuando cambio de 64 bits a 32 bits en Snow Leopard 10.6.8, reinstalé el ruby (rvm usado) para ejecutar en 32 bits y encontré el mismo problema. Así que simplemente ''limpié'' todo lo que almacenaba en memoria caché antes de rvm y resolvía problemas. Espero que este consejo pueda ayudar a alguien.
rvm limpieza todo
rvm install ruby_version_here // (De esta forma, rvm también volverá a descargar la última yaml).
Por cierto, si aún te encuentras con este problema, creo que puedes intentarlo:
joya instalar psych
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.
$ wget http://pyyaml.org/download/libyaml/yaml-0.1.4.tar.gz
$ tar xzvf yaml-0.1.4.tar.gz
$ cd yaml-0.1.4
$ ./configure --prefix=/usr/local
$ make
$ sudo make install
y entonces
rvm install 1.9.3
gem install rails
En Snow Leopard, la solución de Catharz no funcionó para mí. Esta solución, sin embargo, hizo:
brew install libyaml
rvm get head
rvm reinstall 1.9.3 --with-gcc=clang
(La reinstalación rvm me dio una advertencia acerca de que clang no tenía la opción "--with-libyaml" pero solucionó el mensaje de error independientemente).
En Solaris:
# sudo crle -64 -l /usr/local/lib
agregar /usr/local/lib
a la ruta de búsqueda de la biblioteca compartida (ver man crle)
En mi caso
rvm pkg install libyaml
y
rvm reinstall ruby-1.9.3-p125
resuelve el problema.
Para las personas que usan Ubuntu, asegúrese de que libtool
esté instalado antes de los pasos anteriores:
sudo apt-get install libtool
Para usuarios de macOS (con homebrew):
rm -rf /usr/local/lib/ruby/gems/ && brew reinstall ruby
En mi caso, todo lo que tenía que hacer era
rm -rf /usr/local/lib/ruby/gems/2.4.0/gems/psych-2.2.4
rm -rf /usr/local/lib/ruby/gems/2.4.0/extensions/x86_64-darwin-16/2.4.0/psych-2.2.4
Ahora, FWIW, gem list
incluye
psych (2.2.4, default: 2.2.2)
En mi caso, la solución fue agregar la gema psych
al Gemfile.
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:
$ brew remove --force ruby # remove all versions installed
$ sudo rm -rf /usr/local/lib/ruby # remove all gems and leftover files
$ brew install ruby
$ gem install bundler
$ bundle install
Si no usa un Gemfile
, asegúrese de saber qué gemas volver a instalar.
Esto es lo que funcionó para mí en Ubuntu:
- instalando libyaml-dev (sudo apt-get install libyaml-dev)
- instalando rvm + ruby 1.9.3
Esto funcionó para mí al menos en Ubuntu 10.04
$ sudo apt-get install libtool
$ rvm reinstalar 1.9.3
Estoy usando
rvm 1.16.20 (versión) por Wayne E. Seguin, Michal Papis [https://rvm.io/]
y también obtuvo el siguiente error durante la instalación del paquete
.rvm / rubies / ruby-1.9.3-p194 / lib / ruby / 1.9.1 / yaml.rb: 56: in `'': Parece que a su instalación de ruby le falta psych (para salida YAML). Para eliminar esta advertencia, instale libyaml y vuelva a instalar su ruby.
Aquí hay tres formas diferentes de resolver este error sin tener que instalar gem psych
- exportar LD_LIBRARY_PATH = / usr / local / lib
alter /etc/ld.so.conf
sudo su - root echo /usr/local/lib64 >> /etc/ld.so.conf echo /usr/local/lib >> /etc/ld.so.conf ldconfig
Repara la instalación de rvm ruby 1.9.3 a través de
patch .rvm/scripts/functions/manage/ruby < ruby-1.9.3-LDFLAGS.patch rvm uninstall ruby-1.9.3-p194 export LDFLAGS=''-L /usr/local/lib64 -L/usr/local/lib -Xlinker -R/usr/local/lib64 -Xlinker -R/usr/local/lib'' rvm install ruby-1.9.3-p194 --disable-binary grep configure_args .rvm/src/ruby-1.9.3-p194/config.log # to confirm LDFLAG
$ diff -c .rvm/{src/rvm/,}scripts/functions/manage/ruby *** .rvm/src/rvm/scripts/functions/manage/ruby 2012-11-10 06:28:14.000000000 +0000 --- .rvm/scripts/functions/manage/ruby 2013-01-25 17:18:00.000000000 +0000 *************** *** 106,123 **** # when relative is in effect libyaml is installed in ruby itself so it will be moved with ruby prefix_path="${rvm_rubies_path}/${rvm_ruby_string}" libyaml ! __rvm_update_configure_env CFLAGS="-I${rvm_rubies_path}/${rvm_ruby_string}/include" ! __rvm_update_configure_env LDFLAGS="-L${rvm_rubies_path}/${rvm_ruby_string}/lib" if [[ -d "${rvm_rubies_path}/${rvm_ruby_string}/lib64" ]] ! then __rvm_update_configure_env LDFLAGS="-L${rvm_rubies_path}/${rvm_ruby_string}/lib64" fi else libyaml_installed || libyaml # Installs libyaml ! __rvm_update_configure_env CFLAGS="-I${rvm_path}/usr/include" ! __rvm_update_configure_env LDFLAGS="-L${rvm_path}/usr/lib" if [[ -d "${rvm_path}/usr/lib64" ]] ! then __rvm_update_configure_env LDFLAGS="-L${rvm_path}/usr/lib64" fi fi --- 106,123 ---- # when relative is in effect libyaml is installed in ruby itself so it will be moved with ruby prefix_path="${rvm_rubies_path}/${rvm_ruby_string}" libyaml ! __rvm_update_configure_env CFLAGS="-I${rvm_rubies_path}/${rvm_ruby_string}/include ${CFLAGS}" ! __rvm_update_configure_env LDFLAGS="-L${rvm_rubies_path}/${rvm_ruby_string}/lib ${LDFLAGS}" if [[ -d "${rvm_rubies_path}/${rvm_ruby_string}/lib64" ]] ! then __rvm_update_configure_env LDFLAGS="-L${rvm_rubies_path}/${rvm_ruby_string}/lib64 ${LDFLAGS}" fi else libyaml_installed || libyaml # Installs libyaml ! __rvm_update_configure_env CFLAGS="-I${rvm_path}/usr/include ${CFLAGS}" ! __rvm_update_configure_env LDFLAGS="-L${rvm_path}/usr/lib ${LDFLAGS}" if [[ -d "${rvm_path}/usr/lib64" ]] ! then __rvm_update_configure_env LDFLAGS="-L${rvm_path}/usr/lib64 ${LDFLAGS}" fi fi
He reinstalado ruby 1.9.3 con el soporte de libyaml:
rvm reinstall 1.9.3 --with-libyaml
Me aseguré de usar 1.9.3 antes de instalar psych:
rvm use 1.9.3
Instalé psych:
gem install psych
Instalando ruby con rvm para mac osx, use autolibs para instalar libyaml y la primera desinstalación de libyaml ayuda.
Esto funcionó para mí:
brew uninstall libyaml
rvm autolibs enable
rvm reinstall ruby-2.1.1
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 psych (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 , lo que (al menos en OSX) permite a rvm instalar y administrar 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 realmente libyaml y luego instalar sus Rubies. Es contado-intuitivo a partir de los mensajes de error, pero eso fue lo que finalmente funcionó para mí.
Método de instalación de ruby no RVM.
% uname -a
Linux localhost.localdomain 2.6.32-358.el6.x86_64 #1 SMP Fri Feb 22 00:31:26 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
% cat /etc/redhat-release
CentOS release 6.4 (Final)
% wget http://apt.sw.be/redhat/el5/en/x86_64/dag/RPMS/rpmforge-release-0.3.6-1.el5.rf.x86_64.rpm
% sudo rpm -K rpmforge-release-0.3.6-1.el5.rf.*.rpm"
% sudo rpm -ivh rpmforge-release-0.3.6-1.el5.rf.*.rpm"
DISABLE rpmforge editando este archivo y estableciendo enabled = 0% sudo vi /etc/yum.repos.d/rpmforge.repo
% grep rpmforge ~/.aliases
alias rpmforge "sudo yum --disablerepo=''*'' --enablerepo=''rpmforge''"
% rpmforge install libyaml libyaml-devel
% sudo yum list installed | grep libyaml
libyaml.x86_64 0.1.4-1.el5.rf @rpmforge
libyaml-devel.x86_64 0.1.4-1.el5.rf @rpmforge
Libyaml-devel es la clave.
% tar zxvf ruby-1.9.3-p448.tar.gz
% cd ruby-1.9.3-p448
% ./configure -prefix=$HOME/ruby-1.9.3-p448
% make ; make install
% cd $HOME; ln -s ./ruby-1.9.3-p448 ruby
Actualice su ruta y origen .cshrc
% echo $PATH
/home/francis/ruby/bin:/usr/sbin:/home/francis/bin:/home/francis/jdk1.7.0_25/bin:/usr/lib64/qt-3.3/bin:/usr/local/bin:/usr/bin:/bin
% which ruby
/home/francis/ruby/bin/ruby
% gem update --system
Configura tu GEM_HOME en .cshrc y fuente
% echo $GEM_HOME
% /home/francis/ruby/lib/ruby/gems
% gem install mysql2 pg ruby-debug-ide rails capistrano capistrano-ext passenger
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.
DEBES instalar libyaml antes de instalar ruby. SI YA instaló ruby, debe deshacerse de los archivos antes de volver a compilar la fuente.
# cd to your ruby source location
rm -rf /usr/local/lib/ruby # clean out ruby files
./configure
make && make install
gem -v # check if error is fixed
Para aquellos con Mountain Lion y la versión RVM> = 1.18.x
RVM se envía con esta nueva herramienta que se usa como indicador al instalar versiones ruby. Se llama autolibs.
Me deshice de este problema psíquico haciendo lo siguiente:
rvm reinstall ruby-1.9.3-p392 --autolibs=3
Lea el texto de ayuda ANTES de hacer:
rvm help autolibs
Guay.
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:
yum install libyaml-devel
(además de yum install libyaml.) Similar a la respuesta de Francis usando rpmforge anterior.
Si ha instalado ruby en macOS con homebrew, issue .
rm -rf /usr/local/lib/ruby/gems/ && brew reinstall ruby
Tenga en cuenta que esto eliminará todas las gemas instaladas. Mejor guarde una lista de las gemas instaladas con la gem list
antes de ejecutar esto.
Si no usa rvm, sino que está compilando e instalando ruby 1.9.3 desde cero, por ejemplo, está administrando sus versiones de ruby con rbenv , primero debe instalar libyaml. Obtenlo de http://pyyaml.org/ ; en este 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. Entonces:
./configure --prefix=/usr/local
make
sudo make install
Ahora estás listo para construir ruby. Descargue ruby de http://ftp.ruby-lang.org/pub/ruby/ . Abra el tarball y el cd en la carpeta resultante. Ahora:
./configure --prefix=/wherever/you/want/it/to/go
make
make install
(O posiblemente sudo make install
, dependiendo de dónde lo esté colocando). Si usa rbenv, sabrá que ha funcionado si cambia a rbenv global 1.9.3-p194
(o como se llame a su versión) y gem --version
funciona sin una 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í).
También tuve problemas con las mismas fallas con rvm install ruby-2.0.0
durante muchas, MUCHAS horas. Probé todos los métodos diferentes para instalar libyaml; wget source
, yum
y rvm
. También probé todos los diferentes enfoques enumerados en hilos similares. Como probé todos los métodos diferentes, tenía múltiples 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í:
sudo rm /usr/local/lib/libyaml*.*
rvm reinstall ruby-2.0.0-p0
¡Trabajos!
Tengo esto arreglado finalmente. El problema fue que, aunque instalé libyaml con brew, nunca estuvo vinculado. Tuve que eliminar un archivo de encabezado conflictivo y luego brew link libyaml
.
Tuve el mismo problema ( Cent OS 5.7 ), ninguna de las soluciones anteriores me funcionó.
// My console warning
/usr/local/rvm/rubies/ruby-1.9.3-p286/lib/ruby/1.9.1/yaml.rb:56:in `<top (required)>'':
It seems your ruby installation is missing psych (for YAML output).
To eliminate this warning, please install libyaml and reinstall your ruby.
Después de hacer varias reinstalaciones, me di cuenta de que estaba buscando yaml en la versión de rubí de 1.9.1
lugar de 1.9.3
. Así que me degradaron
// obviously after installing `libyaml`
rvm remove all
rvm install 1.9.1
rvm use 1.9.1 --default
¡Y funcionó 8D!
Tuve el mismo problema (Lion 10.7.4) y lo solucioné actualizando rvm y luego reinstalando ruby
1) actualizar rvm https://rvm.io//rvm/install/
curl -L https://get.rvm.io | bash -s stable --ruby
2) Luego use rvm para reinstalar ruby 1.9.3 (que había sido instalado previamente con la versión anterior de rvm)
rvm reinstall 1.9.3
Tuve este problema libyaml no compilaría. Resulta que me faltaba libtool.
yum install libtool
yum install libyaml (or rvm pkg install libyaml)
rvm reinstall 1.9.3
Eso resolvió mi problema.
para ubuntu y rvm
sudo apt-get install libtool
rvm pkg install libyaml
rvm reinstall 1.9.3
trabajó
$ brew doctor
$ brew link libyaml
brew install libyaml
rvm reinstall 1.9.3
Es lo que funcionó para mí (en Snow Leopard).
sudo port install libyaml # or brew install libyaml
rvm get latest
rvm pkg install iconv
rvm pkg install openssl
rvm reinstall 1.9.3 --with-openssl-dir=~/.rvm/usr --with-iconv-dir=~/.rvm/usr
curl -OL http://rubyforge.org/frs/download.php/75414/linecache19-0.5.13.gem
curl -OL http://rubyforge.org/frs/download.php/75415/ruby-debug-base19-0.11.26.gem
gem install linecache19-0.5.13.gem ruby-debug-base19-0.11.26.gem -- --with-ruby-include=$rvm_path/src/ruby-1.9.3-p125/
gem install ruby-debug19
rvm reload
recarga tu .rvmrc (cd out, cd in)
bundle