Gemfile中已添加tzinfo-data仍报错缺失?rails s启动问题求助
解决 TZInfo::DataSourceNotFound 错误的几个方案
你遇到的问题大概率是项目依赖的gem没有被正确加载,试试下面这些步骤:
用bundle exec启动服务器
直接运行rails s会调用全局安装的gem,而非项目Gemfile里指定的版本。换成这个命令:bundle exec rails s重新执行bundle install
有时候Gemfile.lock会和实际依赖不一致,先删除项目根目录下的Gemfile.lock文件,然后运行:bundle install完成后再用
bundle exec rails s启动。检查Gemfile里tzinfo-data的配置
确认你的tzinfo-data没有被放在错误的环境组里(比如仅在test组),如果是Windows/macOS/Linux WSL环境,建议把Gemfile里的配置改成:gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]改完后重新跑
bundle install。确认tzinfo和tzinfo-data的版本兼容
某些Rails版本对tzinfo的版本有严格要求,全局安装的版本可能和项目需要的不匹配。bundle exec会自动使用Gemfile.lock里指定的版本,这也是第一步要求用bundle exec的核心原因。
内容的提问来源于stack exchange,提问作者niedag
相关产品推荐
相关产品推荐

