2011-04-06 10 views
6

Intento ejecutar un proyecto de carriles de trabajo desde OSX a Debian. Uso en ambos sistemas RVM y creé las mismas gemas y rvmrc para el proyecto. En Debian instalé solo ruby ​​con rvm. No existe instalación de ruby ​​en el sistema.constante no inicializada ActiveSupport :: Dependencies :: Mutex

cuando salto en la carpeta del proyecto rvm está cambiando a la versión 1.8.7 y está utilizando el gemset del proyecto, todo se ve bien.

Pero cuando el fuego de un rastrillo -T consigo este error:

$ rake -T --trace 
(in /home/i/project/src) 
rake aborted! 
uninitialized constant ActiveSupport::Dependencies::Mutex 
/home/i/.rvm/gems/[email protected]/gems/rake-0.8.7/lib/rake.rb:2503:in `const_missing' 
/home/i/.rvm/gems/[email protected]/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:55 
/home/i/.rvm/rubies/ruby-1.8.7-p249/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:36:in `gem_original_require' 
/home/i/.rvm/rubies/ruby-1.8.7-p249/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:36:in `require' 
/home/i/.rvm/gems/[email protected]/gems/activesupport-2.3.5/lib/active_support.rb:56 
/home/i/.rvm/rubies/ruby-1.8.7-p249/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:36:in `gem_original_require' 
/home/i/.rvm/rubies/ruby-1.8.7-p249/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:36:in `require' 
/home/i/.rvm/gems/[email protected]/gems/rails-2.3.5/lib/tasks/misc.rake:18 
/home/i/.rvm/gems/[email protected]/gems/rails-2.3.5/lib/tasks/rails.rb:4:in `load' 
/home/i/.rvm/gems/[email protected]/gems/rails-2.3.5/lib/tasks/rails.rb:4 
/home/i/.rvm/gems/[email protected]/gems/rails-2.3.5/lib/tasks/rails.rb:4:in `each' 
/home/i/.rvm/gems/[email protected]/gems/rails-2.3.5/lib/tasks/rails.rb:4 
/home/i/.rvm/rubies/ruby-1.8.7-p249/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:36:in `gem_original_require' 
/home/i/.rvm/rubies/ruby-1.8.7-p249/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:36:in `require' 
/home/i/ws/project/src/Rakefile:10 
/home/i/.rvm/gems/[email protected]/gems/rake-0.8.7/lib/rake.rb:2383:in `load' 
/home/i/.rvm/gems/[email protected]/gems/rake-0.8.7/lib/rake.rb:2383:in `raw_load_rakefile' 
/home/i/.rvm/gems/[email protected]/gems/rake-0.8.7/lib/rake.rb:2017:in `load_rakefile' 
/ home/i/.rvm/gems/[email protected]/gems/rake-0.8.7/lib/rake.rb:2068:in `standard_exception_handling' 
/home/i/.rvm/gems/[email protected]/gems/rake-0.8.7/lib/rake.rb:2016:in `load_rakefile' 
/home/i/.rvm/gems/[email protected]/gems/rake-0.8.7/lib/rake.rb:2000:in `run' 
/home/i/.rvm/gems/[email protected]/gems/rake-0.8.7/lib/rake.rb:2068:in `standard_exception_handling' 
/home/i/.rvm/gems/[email protected]/gems/rake-0.8.7/lib/rake.rb:1998:in `run' 
/home/i/.rvm/gems/[email protected]/gems/rake-0.8.7/bin/rake:31 
/home/i/.rvm/gems/[email protected]/bin/rake:19:in `load' 
/home/i/.rvm/gems/[email protected]/bin/rake:19 
+3

posible duplicado de [Constante no inicializada ActiveSupport :: Dependencies :: Mutex (NameError)] (http://stackoverflow.com/questions/5176782/uninitialized-constant-activesupportdependenciesmutex-nameerror) –

Respuesta

13

Mi solución de trabajo. Agregue la siguiente línea:

require 'thread' 

En la primera línea de Rakefile en la raíz del proyecto Rails. Y mágicamente todo se ejecutará ;-)

7

me encontré con esto mismo no hace mucho tiempo. Si busca en Google, encontrará un par de publicaciones de blogs y listas de correo que le aconsejan explícitamente require "threads" en su environment.rb. Sin embargo esto no funcionó para mí, pero lo hizo rubygems Bajar la versión:

sudo gem update --system 1.3.7 

Algunos de los mensajes también mencionan la actualización a una versión más reciente de rieles, que no era una opción en nuestro caso por el momento.

19

Para mí, agregar requiere 'thread' tampoco funcionó. El problema fue resuelto por degradar a rubygems 1.4.2:

Es un problema de compatibilidad entre versiones más recientes de rubygems (en mi caso, 1.8.5) y las versiones antiguas de los carriles (en mi caso 2.3.5)

$ gem install rubygems-update -v='1.4.2' 

$ gem uninstall rubygems-update -v='1.8.5' 

$ update_rubygems 
0

se puede resolver por medio de carriles actualizar

gem install rails --version 2.3.11 

o degradar joya

sudo gem update --system 1.5.3 
Cuestiones relacionadas