• data_source.rb:182: TZInfo::DataSourceNotFound解决办法


    启动服务器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)

    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)

    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 

    重新启动一下服务器吧~~

    clipboard27

    问题解决了~~开心呀~~

    c0184b30jw1emm3drya97g205x03ju0x

    -------------------------------- |原来看似困难的事情是那么的简单ᶘ ᵒᴥᵒᶅ| --------------------------------
  • 相关阅读:
    XAML中的戏法
    提前预览Visual Studio 2010
    大道至简
    Windows Service下的MessageBox
    WPF中使用Expression Encoder SDK开发流媒体
    使用latex
    [zz]2D动画制作工具比较
    android platform_frameworks_base
    Fast and easy high resolution fractals with a pixel shader
    Bézier Surface
  • 原文地址:https://www.cnblogs.com/Sophiawow/p/4523026.html
Copyright © 2020-2023  润新知