2011-07-06 11 views
5

me empujó una joya hasta rubygems.org, y cuando lo haga una 'joya instalar (GEM)' me sale este error:no inicializado Psych constante :: Syck en GEM instalar

ERROR: While executing gem ... (NameError) 
uninitialized constant Psych::Syck 

que puede hacer una 'gem build (gem) .gemspec' para generar una gema local y luego gem install (gem) .gem y eso se instala bien. También puedo poner la gema en el Gemfile de mi aplicación Rails con un puntero al repositorio de Github y eso también funcionará. He intentado instalar la gema (de rubygems.org en varias computadoras y todas tienen el mismo error.

No tengo ideas sobre qué puede estar causando la falla de la instalación cuando se hace desde rubygems.org pero no cuando genero localmente estoy usando joyero para empujar la gema hasta rubygems.org

Respuesta

6

El error específico que obtuve fue: uninitialized constant Psych::Syck (NameError) cuando se hace paquete de instalación.

Esto sucedió al instalar la versión 0.5.0 de la sencilla herramienta de cobertura de código (simplecov). Trabajando en Ubuntu 11.04 y usando RVM.

ha solucionado el problema con gem update --system

Esto actualiza rubygems y produjo el siguiente resultado:

Updating rubygems-update 
Fetching: rubygems-update-1.8.10.gem (100%) 
Successfully installed rubygems-update-1.8.10 
Installing RubyGems 1.8.10 
RubyGems 1.8.10 installed 

== 1.8.10/2011-08-25 

RubyGems 1.8.10 contains a security fix that prevents malicious gems from 
executing code when their specification is loaded. See 
https://github.com/rubygems/rubygems/pull/165 for details. 

* 5 bug fixes: 

* RubyGems escapes strings in ruby-format specs using #dump instead of #to_s 
    and %q to prevent code injection. Issue #165 by Postmodern 
* RubyGems attempt to activate the psych gem now to obtain bugfixes from 
    psych. 
* Gem.dir has been restored to the front of Gem.path. Fixes remaining 
    problem with Issue #115 
* Fixed Syck DefaultKey infecting ruby-format specifications. 
* `gem uninstall a b` no longer stops if gem "a" is not installed. 


------------------------------------------------------------------------------ 

RubyGems installed the following executables: 
    /home/baller/.rvm/rubies/ruby-1.9.2-p180/bin/gem 

RubyGems system software updated 
3

La solución sería la de ejecutar el siguiente comando en el terminal:

gem update --system 

Se es un error en la versión de gema del sistema que causa este problema. Esto funcionó para mí.

Cuestiones relacionadas