0

railstutorial.org で Hartls のチュートリアルを行っています。

64 ビット Windows マシンで Rails 4.0.8 を実行する必要があります。つまり、Rails タイムゾーンのバグを修正するには、tzinfo-data Gem で x64_mingw オプションを指定する必要があります。

  • Rails 4.0.8 には tzinfo v 0.3.37 が必要です

  • x64_mingw には tzinfo v 1.0.0 が必要です

  • 「互換性のあるバージョンの tzinfo がありません」というエラーでバンドルが失敗します。

私は何をしますか?私はツタンカーメンの途中で、今は開発マシンを切り替える必要はありません! 構成が 32 ビット OS で問題なく動作することはわかっています。

rails (= 4.0.8) x64-mingw32 depends on
  activesupport (= 4.0.8) x64-mingw32 depends on
    tzinfo (~> 0.3.37) x64-mingw32

.

tzinfo-data (>= 0) x64-mingw32 depends on
  tzinfo (>= 1.0.0) x64-mingw32

.


GEMFILE =>

source 'https://rubygems.org'
ruby '2.0.0'


gem 'rails', '4.0.8'

group :development, :test do
gem 'tzinfo', '0.3.37'
gem 'sqlite3', '1.3.8'
gem 'rspec-rails', '2.13.1'
gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw]

end

group :test do
gem 'selenium-webdriver', '2.35.1'
gem 'capybara', '2.1.0'
end

gem 'bootstrap-sass', '2.3.2.0'
gem 'sprockets', '2.11.0'
gem 'sass-rails', '4.0.3'
gem 'uglifier', '2.1.1'
gem 'coffee-rails', '4.0.1'
gem 'jquery-rails', '3.0.4'
gem 'turbolinks', '1.1.1'
gem 'jbuilder', '1.0.2'

group :doc do
gem 'sdoc', '0.3.20', require: false
end

group :production do
gem 'pg', '0.15.1'
gem 'rails_12factor', '0.0.2'
end
4

1 に答える 1

1

Gemfile から tzinfo-data への依存関係を削除する必要があります。

tzinfo-data gem は、tzinfo 1.0.0 以降を使用している Windows システムでのみ必要です。Rails 4.0 は tzinfo ~> 0.3.37 を使用するため、tzinfo-data は不要です。

この理由は、バージョン 1.0.0 より前の tzinfo には、動作に必要なすべてのタイム ゾーン データが含まれていたためです (効果的に tzinfo-data gem をバンドルしています)。バージョン 1.0.0 のリリースにより、データは別の gem に分割されました。

将来 Windows で Rails 4.1 にアップグレードする場合は、Gemfile を変更して tzinfo の特定のバージョン依存関係を削除し、tzinfo-data 依存関係を追加する必要があります。これは、Rails 4.1 が tzinfo ~> 1.1 を必要とするためです。 .

于 2014-09-13T10:34:10.967 に答える