Błąd pasażera Phusion: aktywowałeś rack 1.2.1, ale twój Gemfile wymaga rack 1.2.2
Próbuję uruchomić aplikację Ruby on Rails na udostępnionym serwerze Dreamhost. Jak dotąd wszystko jest w porządku, z wyjątkiem jednego dziwnego błędu, którego nie udało mi się rozwikłać.
Czasami, gdy odwiedzam aplikację internetową, pojawia się błąd pasażera Phusion mówiący:
Aktywowałeś już rack 1.2.1, ale twój plik Gemfile wymaga rack 1.2.2. Rozważ użycie bundle exec.
Kiedy tylko odświeżam stronę wydaje się działać, choć-koniec z błędem Phusion wiadomość.
Po innych wątkach przepełnienia stosu i podobnych DreamHost wiki, dodałem następujący tekst na górze pliku config/environment.rb
:
if ENV['RAILS_ENV'] == 'production' # don't bother on dev
ENV['GEM_PATH'] = '/home/myusername/.gems' + ':/usr/lib/ruby/gems/1.8'
end
9 answers
Spróbuj ponownie uruchomić serwer po edycji w Gemfile i umieścić to: gem 'rack', '1.2.1'
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-04-25 07:10:31
To działa w Rails 3.0.X & pasażer 3.0.15
Utwórz plik:
config/setup_load_paths.rb
Z treścią:
require 'rubygems'
require 'bundler/setup'
Pasażer załaduje klejnot stojaka określony w pliku klejnotu.lock
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-10 20:46:09
[[3]} po długim okresie nieaktywności otrzymuję podobny błąd dla kilku aplikacji Sinatra na DreamHost VPS:
Phusion Passenger Error: You have activated rack 1.2.1, but your Gemfile requires rack 1.3.0.
Jak w opisie @aren55555, jeśli po prostu odświeżysz stronę, błąd zniknie. Oto coś, co odkryłem o konfiguracji serwera:
[psXXXXX]$ gem env
RubyGems Environment:
- RUBYGEMS VERSION: 1.3.6
- RUBY VERSION: 1.8.7 (2008-08-11 patchlevel 72) [x86_64-linux]
- INSTALLATION DIRECTORY: /home/XXXXXXXXX/.gems/
- RUBY EXECUTABLE: /usr/bin/ruby1.8
- EXECUTABLE DIRECTORY: /home/XXXXXXXXX/.gems/bin
- RUBYGEMS PLATFORMS:
- ruby
- x86_64-linux
- GEM PATHS:
- /home/XXXXXXXXX/.gems/ <-- Rack 1.3.0 Gem was installed here
- /usr/lib/ruby/gems/1.8 <-- Rack 1.2.1 Gem was installed here
- GEM CONFIGURATION:
- :update_sources => true
- :verbose => true
- :benchmark => false
- :backtrace => false
- :bulk_threshold => 1000
- REMOTE SOURCES:
- http://rubygems.org/
Domyślam się, co się działo, po tym, jak pasażer "się obudził", z jakiegoś powodu patrzy najpierw (a może tylko) na klejnoty w na poziomie systemu, wybierając Rack 1.2.1 jako najnowszą wersję. Moim krótkoterminowym hacky rozwiązaniem było po prostu zainstalowanie tam Racka 1.3.0:
gem install rack -v 1.3.0 --install-dir /usr/lib/ruby/gems/1.8
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-06 12:58:30
Mam ten sam problem: "aktywowałeś już rack 1.2.1, ale twój Gemfile wymaga rack 1.2.3"
- Dodaj do Gemfile: gem 'rack', '1.2.1'
- Aktualizacja pakietu
-
Odinstaluj wersje rack > 1.2.1
[wasp]$ gem list / grep rack
Rack (1.2.1, 1.1.0, 1.0.1, 1.0.0)
-
Dotknij tmp / restart.txt
- :) happy
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-08-17 22:03:32
Rozwiązałem ten sposób na Dreamhost:
Usuń z Gemfile dowolną linię: gem 'rack',....
rm Gemfile.lock
rm -rf .bundle
rm -rf vendor/bundle
Instaluj / używaj klejnotów lokalnie i regeneruj plik ' Gemfile.Blokada " z:
bundle install
W tym celu należy zainstalować gems w vendor / bundle.]}
bundle install --deployment
Restart:
touch tmp/restart.txt
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-10-16 09:21:15
Właśnie natknąłem się na ten problem na Dreamhost. Problem polega na tym, że serwer Dreamhost ma zainstalowany rack 1.2.1 i twój Gemfile ładuje się 1.2.2. Znalazłem, że jeśli tylko zainstaluję rack:
gem install rack
Następnie najnowsza wersja rack (1.2.2 od teraz) zostanie zainstalowana w Twoim folderze Home gems (~ / .klejnotów). Kiedy Pasażer uruchomi się, będzie korzystać z 1.2.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-04-27 04:31:00
Miałem podobny problem z Apache: "aktywowałeś już rack 1.2.3, ale twój plik Gemfile wymaga racka 1.2.2. Rozważ użycie bundle exec."
Problem polegał na tym, że Passenger instaluje rack 1.2.3 i mój rails APP rack 1.2.2:
$ gem list |grep rack
rack (1.2.2, 1.2.3)
Try:
$ gem uninstall --version=1.2.3 rack
Restart serwera i rozwiązany
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-07 13:02:55
Walczyłem z tym problemem godzinami, zanim w końcu zrezygnowałem z pasażera. Każda nowa wersja Rails będzie używać nowszej szafy niż wymaga tego pasażer Dreamhost.
Jednak nie potrzebujesz pasażera, aby uruchomić aplikację. Dreamhost zapewnia dość łatwe (i działające) instrukcje dotyczące uruchamiania aplikacji za pomocą FastCGI i nie będziesz musiał w tym procesie uszkodzić pliku Gemfile:
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-04 19:24:47
Może warto to sprawdzić. Ktoś wymyślił sposób na pracę debuggera z Passenger & Rails 3 - http://duckpunching.com/passenger-mod_rails-for-development-now-with-debugger
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-23 14:09:03