Solución:
Resolviendo el error
Para resolver este error, deberá asegurarse de que la gema tzinfo-data esté incluida en su Gemfile
.
En primer lugar, compruebe su Gemfile
para ver si existe una referencia a tzinfo-data
. Si aún no hay una referencia, agregue la siguiente línea:
gem 'tzinfo-data'
Puede encontrar que ya existe una línea como la siguiente:
gem 'tzinfo-data', platforms: [:mingw, :mswin]
Si está utilizando una versión de 64 bits de Ruby en Windows, agregue :x64_mingw
a la lista de plataformas de la siguiente manera:
gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw]
Alternativamente, puede quitar el platforms
opción por completo.
Después de hacer esto, ejecute bundle update
en la línea de comandos para instalar la gema tzinfo-data y luego podrá iniciar su servidor o consola Rails.
Fondo
los TZInfo::DataSourceNotFound
TZInfo, una dependencia del componente Active Support de Rails, genera un error. TZInfo está buscando una fuente de datos de zona horaria en su sistema, pero no encuentra una.
En muchos sistemas basados en Unix (por ejemplo, Linux), TZInfo puede utilizar el directorio zoneinfo del sistema como fuente de datos. Sin embargo, Windows no incluye dicho directorio, por lo que es necesario instalar la gema tzinfo-data en su lugar. La gema tzinfo-data contiene los mismos datos de zoneinfo, empaquetados como un conjunto de módulos Ruby.
Rails genera un valor predeterminado Gemfile
cuando se crea la aplicación por primera vez. Si la aplicación se crea en Windows, se incluirá una dependencia para tzinfo-data. Sin embargo (a partir de la versión 4.1.0 de Rails), esto omite :x64_mingw
de la lista de plataformas, por lo que no funciona correctamente en versiones de Windows de 64 bits de Ruby. Esto debería solucionarse en futuras versiones de Rails.
Tuve que agregar dos gemas para que el servidor se iniciara.
gema ‘tzinfo-data’
joya ‘tzinfo’
Luego, paquete install.
Simplemente coloque esto en la terminal de su aplicación:
gem install tzinfo-data
luego cambie la línea del archivo de gemas a:
gem 'tzinfo-data', platforms: [:x64_mingw, :mingw, :mswin]
luego de nuevo en su terminal:
bundle update
Eso resolverá el problema directamente.