Constantes no inicializadas ActiveSupport:: Dependencies:: Mutex (NameError)
Cuando quiero crear un proyecto de Ruby on Rails, recibo el siguiente mensaje.
/usr/lib/ruby/gems/1.8/gems/activesupport-2.3.8/lib/active_support/dependencies.rb:55: uninitialized constant ActiveSupport::Dependencies::Mutex (NameError)
from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:36:in `gem_original_require'
from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:36:in `require'
from /usr/lib/ruby/gems/1.8/gems/activesupport-2.3.8/lib/active_support.rb:57
from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:36:in `gem_original_require'
from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:36:in `require'
from /usr/lib/ruby/gems/1.8/gems/rails-2.3.8/lib/rails_generator.rb:31
from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:36:in `gem_original_require'
from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:36:in `require'
from /usr/lib/ruby/gems/1.8/gems/rails-2.3.8/bin/rails:15
from /usr/bin/rails:19:in `load'
from /usr/bin/rails:19
¿Qué ha salido mal? ¿Cómo puedo arreglarlo?
11 answers
Esta es una incompatibilidad entre Rails 2.3.8 y versiones recientes de RubyGems. Actualice a la última versión 2.3 (2.3.11 a partir de hoy).
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-03-03 04:57:02
En caso de que no pueda actualizar a Ruby on Rails 2.3.11 (y para ampliar la respuesta de douglasr), thread
debe ser requerido en la parte superior de boot.rb
. Por ejemplo:
require 'thread'
# Don't change this file!
# Configure your app in config/environment.rb and config/environments/*.rb
...
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-08-13 21:29:53
Pude arreglar esto degradando RubyGems a 1.5.3, ya que sucede con RubyGems 1.6.0+ y Rails
gem update --system 1.5.3
Si previamente ha bajado a una versión incluso anterior y desea actualizar a 1.5.3, puede obtener lo siguiente al intentar ejecutarlo:
Updating RubyGems
ERROR: While executing gem ... (RuntimeError)
No gem names are allowed with the --system option
Si obtiene ese error, actualice, de modo que le permita especificar la versión, y luego vuelva a degradar:
gem update --system
gem update --system 1.5.3
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-07-15 14:11:59
También es probable que pueda evitar este problema al requerir 'hilo' en su aplicación como tal:
require 'thread'
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-03-03 06:02:12
Si desea mantener su versión igual que rails será 2.3.8 y la versión de gem será la última. Puede utilizar esta solución Última gema con Rails2.x . en esto algunos cambios en el arranque.archivo rb y entorno.archivo rb.
require 'thread
' en la bota.archivo rb en la parte superior.
Y en el medio ambiente.archivo rb agregue el siguiente código encima del bloque inicializador.
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.3.7')
module Rails
class GemDependency
def requirement
r = super
(r == Gem::Requirement.default) ? nil : r
end
end
end
end
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-10-18 21:19:39
Me he enfrentado a este problema en muchas ocasiones cuando intento iniciar un proyecto antiguo de rails 2.3.5 después de haber trabajado con rails 3>. En mi caso para resolver el problema, debo hacer una actualización de rubygems a la versión 1.4.2, esto es:
sudo gem update --system 1.4.2
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-11-10 15:00:04
Si está utilizando Radiant CMS, simplemente agregue
require 'thread'
Al principio de config/boot.rb
.
(Felicitaciones a las respuestas de Aarón y natanavda.)
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-06-28 06:51:24
Como se mencionó, esto ocurre cuando se usa RubyGems 1.6.0 con Ruby on Rails versión anterior a la versión 3. Mi aplicación está utilizando Ruby on Rails 2.3.3 vendored en el / vendor del proyecto.
Sin duda una actualización de Ruby on Rails a una versión 2.3 más reciente.La versión X también puede solucionar este problema. Sin embargo, este problema le impide ejecutar Rake a unvendor Ruby on Rails y actualizarlo.
Añadiendo require 'thread' a la parte superior del entorno.rb no solucionó el problema para mí. Añadir require 'thread' a / vendor/rails/activesupport/lib / active_support.rb arregló el problema.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-05-22 19:32:31
Intenta actualizar tu versión de Ruby on Rails a la v3.0. 5:
gem install rails --version 3.0.5
O v2. 3. 11:
gem install rails --version 2.3.11
Si este no es un proyecto nuevo, tendrá que actualizar su aplicación en consecuencia. Si se trataba de un proyecto nuevo, simplemente elimine el directorio en el que lo creó y vuelva a crear un proyecto nuevo.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-05-24 12:51:09
Actualizar los rubygems
Gem update system system
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-09-05 15:01:38
Estoy publicando mi solución para las otras almas privadas de sueño por ahí:
Si está utilizando RVM, compruebe que está en la carpeta correcta, utilizando la versión y el conjunto de gemas de ruby correctos. Tenía una serie de pestañas de terminal abiertas, y una de ellas estaba en un directorio diferente. escribir "consola rails" produjo el error porque mi distro rails por defecto es 2.3.x.
Noté el error de mi parte, cd'd al directorio correcto, y mi .el archivo rvmrc hizo el resto.
RVM es no como Git. En git, cambiar ramas en un shell lo cambia en todas partes. Está literalmente reescribiendo los archivos en cuestión. RVM, por otro lado, solo está configurando variables de shell, y debe configurarse para cada shell nuevo que abra.
En caso de que no esté familiarizado con .rvmrc, puede poner un archivo con ese nombre en cualquier directorio, y rvm lo recogerá y usará la versión/conjunto de gemas especificadas en él, cada vez que cambie a ese directorio. Aquí hay una muestra .rvmrc archivo:
rvm use 1.9.2@turtles
Esto cambiará a la última versión de ruby 1.9.2 en su colección RVM, utilizando el conjunto de gemas "tortugas". Ahora puedes abrir un centenar de pestañas en Terminal (como acabo de hacer) y nunca te preocupes por la versión de ruby a la que apunta.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-09-21 19:50:40