在Windows上启动Rails v4.1.0服务器时出现TZInfo :: DataSourceNotFound错误

79

我使用 Ruby on Rails v4.1.0 创建了一个新的应用程序。在Windows上尝试启动服务器或控制台时,遇到以下错误:

$ rails server
Booting WEBrick
Rails 4.1.0 application starting in development on ....

Exiting
c:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/tzinfo-1.1.0/lib/tzinfo/data_source.rb:199:
in `rescue in create_default_data_source': 
No timezone data source could be found. To resolve this, either install 
TZInfo::Data (e.g. by running `gem install tzinfo-data`) or specify a zoneinfo 
directory using `TZInfo::DataSource.set(:zoneinfo, zoneinfo_path)`.
(TZInfo::DataSourceNotFound) 
from c:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/tzinfo-1.1.0/lib/tzinfo/data_source.rb:196:
in `create_default_data_source'

我该如何解决这个错误?


你按照错误提示做了吗?例如:“gem install tzinfo-data”或使用“TZInfo :: DataSource.set(:zoneinfo,zoneinfo_path)”指定一个zoneinfo目录。如果已经这样做了,结果如何? - Pavling
14个回答

0

在Windows操作系统上,通过cmd直接安装gem可能无法解决问题。

以下是我逐步完成的步骤:

  1. 在Gemfile文件夹中,“ctrl-F”并键入“platforms”

  2. 找到行gem“tzinfo-data”,platforms:%i[mingw mswin x64_mingw jruby]

  3. 删除“tzinfo-data”后面的所有内容(包括逗号)

  4. 最终视图应该只有gem“tzinfo-data”还要添加gem“tzinfo”

  5. 在终端中,键入“bundler update”或“bundle update”

  6. 完成后,键入“rails s”

注意:即使这样,如果您的服务器启动但无法解析默认页面(此外ctrl-c / ctrl-pause/break不起作用),则通过添加gemgem 'webrick','〜> 1.3','>= 1.3.1'webrick替换为puma。之后,要运行webrick服务器,您需要键入rails s -u webrick


0

1- 打开Gemfile文件 在文件中添加以下行,不要加任何数组,只需这一行 gem "tzinfo-data" 然后保存文件

2- 然后在命令提示符中输入 bundle install 然后按Enter键

3- 然后同样在命令提示符中输入 rails server 然后按Enter键


-1

我已经替换成:

gem "tzinfo-data", platforms: %i[ mingw mswin x64_mingw jruby ]

使用:

gem 'tzinfo-data', '~> 1.2021', '>= 1.2021.5'

它运行得很好。

> Blockquote

-1

所以,宝石似乎没有正确安装,我必须执行以下操作

gem 'tzinfo-data' gem 'tzinfo'

然后

bundle show 查看所有宝石

bundle gem tzinfo 将为您获取宝石目录

然后,进入该目录。您需要将tzinfo-data拼接到tzinfo中。 在tzinfo-data文件中,转到.. local_pathname/tzinfo-data-1.2014.5/lib/tzinfo 将此目录的所有内容复制到... local_pathname/tzinfo-1.2.1/lib/tzinfo (对我来说,这意味着复制文件'data'和目录'data')

然后 前往 local_pathname/tzinfo-1.2.1/lib 并打开文件tzinfo(而不是目录) 并添加此行 require 'tzinfo/data'

这真是让人头疼难以理解。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接