启动服务器webrick时出现错误:
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)
首先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。
1. 在应用目录下(例如...\Blog\)运行以下命令:
gem isntall tzinfo-data
2. 修改Gemfile文件,在gem ‘tzinfo-data‘一行加入:x64_mingw(只有64位ruby执行这一步)
gem ‘tzinfo-data‘, platforms: [:x64_mingw, :mingw, :mswin]
3. 再次运行bundle命令:
bundle update
重新启动一下服务器吧~~
问题解决了~~开心呀~~