'failed to build rails server cause of tzinfo
i already add gem 'tzinfo-data' on my gemfile but its keep saying please add tzinfo-data when I make rails server.
Is it because of the rails that I install or ruby that I install, or maybe there is some step that I missing?
C:\Users\LENOVO 330S-15ARR\sample_app>rails s
=> Booting Puma
=> Rails 7.0.2.3 application starting in development
=> Run `bin/rails server --help` for more startup options
Exiting
C:/Ruby/lib/ruby/gems/3.1.0/gems/tzinfo-2.0.4/lib/tzinfo/data_source.rb:159:in `rescue in create_default_data_source': tzinfo-data is not present. Please add gem 'tzinfo-data' to your Gemfile and run bundle install (TZInfo::DataSourceNotFound)
from C:/Ruby/lib/ruby/gems/3.1.0/gems/tzinfo-2.0.4/lib/tzinfo/data_source.rb:156:in `create_default_data_source' from C:/Ruby/lib/ruby/gems/3.1.0/gems/tzinfo-2.0.4/lib/tzinfo/data_source.rb:55:in `block in get'
from C:/Ruby/lib/ruby/gems/3.1.0/gems/tzinfo-2.0.4/lib/tzinfo/data_source.rb:54:in `synchronize'
from C:/Ruby/lib/ruby/gems/3.1.0/gems/tzinfo-2.0.4/lib/tzinfo/data_source.rb:54:in `get'
from C:/Ruby/lib/ruby/gems/3.1.0/gems/activesupport-7.0.2.3/lib/active_support/railtie.rb:88:in `block in <class:Railtie>'
from C:/Ruby/lib/ruby/gems/3.1.0/gems/railties-7.0.2.3/lib/rails/initializable.rb:32:in `instance_exec'
from C:/Ruby/lib/ruby/gems/3.1.0/gems/railties-7.0.2.3/lib/rails/initializable.rb:32:in `run'
from C:/Ruby/lib/ruby/gems/3.1.0/gems/railties-7.0.2.3/lib/rails/initializable.rb:61:in `block in run_initializers'
from C:/Ruby/lib/ruby/3.1.0/tsort.rb:228:in `block in tsort_each'
from C:/Ruby/lib/ruby/3.1.0/tsort.rb:350:in `block (2 levels) in each_strongly_connected_component'
from C:/Ruby/lib/ruby/3.1.0/tsort.rb:431:in `each_strongly_connected_component_from'
from C:/Ruby/lib/ruby/3.1.0/tsort.rb:349:in `block in each_strongly_connected_component'
from C:/Ruby/lib/ruby/3.1.0/tsort.rb:347:in `each'
from C:/Ruby/lib/ruby/3.1.0/tsort.rb:347:in `call'
from C:/Ruby/lib/ruby/3.1.0/tsort.rb:347:in `each_strongly_connected_component'
from C:/Ruby/lib/ruby/3.1.0/tsort.rb:226:in `tsort_each'
from C:/Ruby/lib/ruby/3.1.0/tsort.rb:205:in `tsort_each'
from C:/Ruby/lib/ruby/gems/3.1.0/gems/railties-7.0.2.3/lib/rails/initializable.rb:60:in `run_initializers'
from C:/Ruby/lib/ruby/gems/3.1.0/gems/railties-7.0.2.3/lib/rails/application.rb:372:in `initialize!'
from C:/Users/LENOVO 330S-15ARR/sample_app/config/environment.rb:5:in `<main>'
from config.ru:3:in `require_relative'
from config.ru:3:in `block in <main>'
how can I solve this error?
Solution 1:[1]
There's a bug in Bundler that means there's no valid platform value that will match 64-bit Ruby 3.1 on Windows.
If the gem 'tzinfo-data
line in your Gemfile
includes a platforms
option, Bundler will exclude tzinfo-data from the bundle and you'll get the TZInfo::DataSourceNotFound
error.
The solution is to remove the platforms
option from the tzinfo-data line in the Gemfile and then run bundle install
:
gem 'tzinfo-data'
Solution 2:[2]
Ensure the gemfile contains gem "
tzinfo-data" and then bundle install.
Just ensure the gem is platform independent
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
Solution | Source |
---|---|
Solution 1 | |
Solution 2 | Dennis Njoroge |