Problema con gema yajl-ruby

$ gem install yajl-ruby 
Fetching: yajl-ruby-1.3.0.gem (100%)
Building native extensions.  This could take a while...
Successfully installed yajl-ruby-1.3.0
Parsing documentation for yajl-ruby-1.3.0
Installing ri documentation for yajl-ruby-1.3.0
Done installing documentation for yajl-ruby after 0 seconds
1 gem installed
$ jekyll serve
/usr/share/rubygems/rubygems/dependency.rb:310:in `to_specs': Could not find 'yajl-ruby' (~> 1.2.0) - did find: [yajl-ruby-1.3.0] (Gem::MissingSpecVersionError)
Checked in 'GEM_PATH=/home/olea/.gem/ruby:/usr/share/gems:/usr/local/share/gems', execute `gem env` for more information
	from /usr/share/rubygems/rubygems/specification.rb:1442:in `block in activate_dependencies'
	from /usr/share/rubygems/rubygems/specification.rb:1431:in `each'
	from /usr/share/rubygems/rubygems/specification.rb:1431:in `activate_dependencies'
	from /usr/share/rubygems/rubygems/specification.rb:1413:in `activate'
	from /usr/share/rubygems/rubygems/specification.rb:1445:in `block in activate_dependencies'
	from /usr/share/rubygems/rubygems/specification.rb:1431:in `each'
	from /usr/share/rubygems/rubygems/specification.rb:1431:in `activate_dependencies'
	from /usr/share/rubygems/rubygems/specification.rb:1413:in `activate'
	from /usr/share/rubygems/rubygems/core_ext/kernel_gem.rb:68:in `block in gem'
	from /usr/share/rubygems/rubygems/core_ext/kernel_gem.rb:67:in `synchronize'
	from /usr/share/rubygems/rubygems/core_ext/kernel_gem.rb:67:in `gem'
	from /home/olea/bin/jekyll:22:in `<main>'

¿Qué hago mal?

Pues parece que tu proyecto necesita yajl-ruby en una version 1.2.x y tu estás instalando la 1.3.0. Supongo que haciendo gem install yajl-ruby -v 1.2.2 sería suficiente.

De todas formas, si no me equivoco, en el mundo Ruby está ampliamente extendido el use de virtual envs y bundler:
http://rbenv.org/
http://bundler.io/

Supongo que tienes un Gemfile y haciendo bundle install deberías instalar todas las dependencias del proyecto (con las versiones correctas) sin mayor problema.

1 me gusta

Eso te iba a decir, ¿no tienes un Gemfile en el proyecto, @olea?

Vale, ya sé que ha pasado.

Ruby 2.4.0 ha cambiado no sé qué cosa de la variable rb_cFixnum, Eso me ha creado un problema de versiones en cascada con yajl y el propio jekyll. El yajl 1.3.0 (que se me instala del tirón) es compatible con el nuevo cambio y resultaba que jekyll no se entendía bien con los cambios.

Actualziando yajl y jekyll a las últimas versiones me resuelve el entuerto.

Gracias por contestar :slight_smile:

1 me gusta