Uninitialized constant ActiveSupport:: Dependencies:: Mutex (NameError)
Kiedy chcę stworzyć projekt Ruby on Rails, otrzymuję wiadomość poniżej.
/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
Co poszło nie tak? Jak to naprawić? 11 answers
Jest to niezgodność pomiędzy Rails 2.3.8 a najnowszymi wersjami RubyGems. Aktualizacja do najnowszej wersji 2.3(2.3.11 od dziś).
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-03-03 04:57:02
W przypadku, gdy nie możesz uaktualnić do Ruby on Rails 2.3.11 (i rozszerzyć na odpowiedź Douglasa), thread
musi być wymagane na górze boot.rb
. Na przykład:
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/doraprojects.net/template/agent.layouts/content.php on line 54
2012-08-13 21:29:53
Udało mi się to naprawić, obniżając RubyGems do 1.5.3, ponieważ dzieje się to z RubyGems 1.6.0+ i Rails
gem update --system 1.5.3
Jeśli wcześniej zmieniłeś wersję na wcześniejszą i chcesz zaktualizować ją do wersji 1.5.3, możesz uzyskać następujące informacje podczas próby uruchomienia:
Updating RubyGems
ERROR: While executing gem ... (RuntimeError)
No gem names are allowed with the --system option
Jeśli pojawi się ten błąd, zaktualizuj, aby umożliwić określenie wersji, a następnie ponownie obniż wersję:
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/doraprojects.net/template/agent.layouts/content.php on line 54
2011-07-15 14:11:59
Możesz również obejść ten problem, wymagając "wątku" w swojej aplikacji jako takiej:
require 'thread'
Zgodnie z RubyGems 1.6.0 Uwagi do wydania .
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-03-03 06:02:12
Jeśli chcesz, aby Twoja wersja była taka sama jak rails, będzie 2.3.8, a wersja gem będzie najnowsza. Możesz użyć tego rozwiązania najnowszy klejnot z Rails2.x . w tym kilka zmian w rozruchu.plik rb i środowisko.plik rb.
require 'thread
' w bagażniku.plik rb na górze.
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/doraprojects.net/template/agent.layouts/content.php on line 54
2013-10-18 21:19:39
Miałem do czynienia z tym problemem wiele razy, kiedy próbuję uruchomić stary projekt rails 2.3.5 po pracy z rails 3>. W moim przypadku, aby rozwiązać problem, muszę wykonać aktualizację rubygems do wersji 1.4.2, to jest:
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/doraprojects.net/template/agent.layouts/content.php on line 54
2011-11-10 15:00:04
Jeśli używasz Radiant CMS, po prostu dodaj
require 'thread'
Do góry config/boot.rb
.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-06-28 06:51:24
Jak wspomniano, dzieje się to podczas używania RubyGems 1.6.0 z Ruby on Rails w wersji wcześniejszej niż wersja 3. Moja aplikacja używa Ruby on Rails 2.3.3 vendored do / vendor projektu.
Bez wątpienia aktualizacja Ruby on Rails do nowszej wersji 2.3.Wersja X może również rozwiązać ten problem. Jednak ten problem uniemożliwia uruchomienie Rake do unvendor Ruby on Rails i uaktualnienie go.
Dodanie require 'thread' do górnej części środowiska.rb nie naprawił problemu dla mnie. Dodanie wymaganego 'thread' do / vendor / rails/activesupport/lib / active_support.rb naprawił problem.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-05-22 19:32:31
Spróbuj zaktualizować swoją wersję Ruby on Rails do v3. 0. 5:
gem install rails --version 3.0.5
Lub v2.3.11:
gem install rails --version 2.3.11
Jeśli nie jest to nowy projekt, będziesz musiał odpowiednio uaktualnić swoją aplikację. Jeśli był to nowy projekt, po prostu usuń katalog, w którym go utworzyłeś i utwórz nowy projekt ponownie.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-05-24 12:51:09
Update the rubygems
Gem update --system
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-09-05 15:01:38
Zamieszczam moje rozwiązanie dla innych pozbawionych snu dusz:
Jeśli używasz RVM, sprawdź dwukrotnie, czy znajdujesz się we właściwym folderze, używając poprawnej wersji ruby i gemset. Miałem otwartą tablicę kart terminala, a jedna z nich była w innym katalogu. wpisanie "rails console" spowodowało błąd, ponieważ moja domyślna Dystrybucja rails to 2.3.x.
Zauważyłem błąd z mojej strony, cd ' D do poprawnego katalogu, i mój .plik rvmrc zrobił resztę.
RVM jest Nie jak Git. W git, zmiana gałęzi w jednej powłoce zmienia ją wszędzie. Dosłownie przepisuje te pliki. Z drugiej strony, RVM ustawia Zmienne powłoki i musi być ustawiane dla każdej nowej powłoki, którą otwierasz.
W przypadku, gdy nie jesteś zaznajomiony z .rvmrc, możesz umieścić plik o tej nazwie w dowolnym katalogu, a rvm odbierze go i użyje podanej w nim wersji / gemset, za każdym razem, gdy zmienisz ten katalog. Oto próbka .rvmrc plik:
rvm use 1.9.2@turtles
To przełączy się na najnowszą wersję ruby 1.9.2 w Twojej kolekcji RVM, używając gemsetu "turtles". Teraz możesz otworzyć sto kart w Terminalu (tak jak ja to robię) i nigdy nie martwić się o wersję ruby, na którą wskazuje.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-09-21 19:50:40