data_source.rb:182: TZInfo::DataSourceNotFound解決辦法

啓動服務器webrick時出現錯誤:web

C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/tzinfo-1.2.2/lib/tzinfo/data_source.rb:182:in `rescue in create_default_data_source': No source of timezone data could be found. (TZInfo::DataSourceNotFound)windows

clipboard26

 

首先TZInfo::DataSourceNotFound錯誤是因爲Rails的ActiveSupport組件的一個依賴TZInfo引發 的。說明TZInfo在你的系統中查找時區來源失敗。在許多基於基於Unix的系統中,TZInfo能夠使用系統中的zoneinfo文件夾做爲數據來 源。然而,Windows並無這樣的文件,因此須要安裝tzinfo-data gem,其內容與zoneinfo裏的內容同樣,打包成一個Ruby的模塊。
在應用建立之初rails會在目錄下默認生成一個Gemfile,其聲明瞭 Bundler會用到的 rubygems),而出現這個錯誤的緣由是應用中的Gemfile沒有安裝 tzinfo-data或者使 用了64位的ruby:打開Gemfile查看是否包含:gem 'tzinfo- data', platforms: [:mingw, :mswin]一行,若是未包含說明沒有安裝tzinfo-data gem,若是有這一行仍然出現錯誤,說明使用的是64位的ruby。

 

解決辦法(from stackoverflow)ruby

 

1. 在應用目錄下(例如...\Blog\)運行如下命令:服務器

gem isntall tzinfo-dataspa

2. 修改Gemfile文件,在gem 'tzinfo-data'一行加入:x64_mingw(只有64位ruby執行這一步3d

    gem 'tzinfo-data', platforms: [:x64_mingw, :mingw, :mswin]orm

3. 再次運行bundle命令:server

    bundle update blog

從新啓動一下服務器吧~~ip

clipboard27

 

問題解決了~~開心呀~~

c0184b30jw1emm3drya97g205x03ju0x

相關文章
相關標籤/搜索