servidor rails instalar iniciar descargar actualizar ruby-on-rails ruby ruby-on-rails-4.1 tzinfo

ruby-on-rails - rails - ruby installer



Error TZInfo:: DataSourceNotFound al iniciar el servidor Rails v4.1.0 en Windows (8)

Creé una nueva aplicación usando Ruby on Rails v4.1.0. Cuando intento iniciar un servidor o una consola en Windows, encuentro el siguiente error:

$ 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''

¿Cómo puedo resolver este error?


Agregue la siguiente línea a su archivo de gemas

gem ''tzinfo-data'', plataformas: [: x64_mingw,: mingw,: mswin]


Solo ponga esto en su terminal de aplicación:

gem install tzinfo-data

luego cambie la línea gemfile a:

gem ''tzinfo-data'', platforms: [:x64_mingw, :mingw, :mswin]

luego de nuevo en tu terminal:

bundle update

Eso resolverá el problema directamente.


Tal vez tzinfo no está instalado en su sistema, intente instalarlo:

gem install tzinfo gem install tzinfo-data


También tuve este problema y lo solucioné al agregar :x64_mingw el :x64_mingw a la lista de plataformas para tzinfo-data , Y el gem ''tzinfo'' al gemfile. Luego paquete de instalación.


Tuve ese error al intentar instalar Redmine en un contenedor Docker:

RAILS_ENV=production bundle exec rake db:migrate

me dio el error porque el paquete tzdata no estaba instalado en mi imagen de Ubuntu.

apt-get update && apt-get install tzdata -y

Hizo el truco.


Tuve que agregar dos gemas para que el servidor comenzara ...

gema ''tzinfo-data''
gema ''tzinfo''

Luego paquete de instalación.


entonces, las gemas no parecían instalarse correctamente, tuve que hacer lo siguiente

gema ''tzinfo-data'' gema ''tzinfo''

entonces

paquete espectáculo para ver todas las gemas

paquete gema tzinfo le conseguirá el directorio de gemas

luego, vaya a ese directorio. Necesitarás empalmar tzinfo-data en tzinfo. en el archivo tzinfo-data, vaya a .. local_pathname / tzinfo-data-1.2014.5 / lib / tzinfo copie todos los contenidos de este directorio en ... local_pathname / tzinfo-1.2.1 / lib / tzinfo (para mí esto significaba copiar ''datos'' el archivo y ''datos'' el directorio)

luego vaya a local_pathname / tzinfo-1.2.1 / lib y abra el archivo, tzinfo, (no el directorio) y agregue esta línea requiera ''tzinfo / data''

esto fue tan doloroso para descubrir


Resolviendo el error

Para resolver este error, deberá asegurarse de que la gema tzinfo-data se esté incluyendo en su Gemfile .

En primer lugar, verifique su Gemfile para ver si hay una referencia existente a tzinfo-data . Si todavía no hay una referencia, agregue la siguiente línea:

gem ''tzinfo-data''

Puede encontrar que ya hay 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 eliminar la opción de platforms completo.

Después de hacer esto, ejecute la bundle update en la línea de comando para instalar la gema tzinfo-data y luego podrá iniciar su servidor o consola de Rails.


Fondo

TZInfo::DataSourceNotFound error TZInfo::DataSourceNotFound , una dependencia del componente de soporte activo de Rails. TZInfo está buscando una fuente de datos de zona horaria en su sistema, pero no puede encontrar uno.

En muchos sistemas basados ​​en Unix (por ejemplo, Linux), TZInfo puede usar el directorio de información de zonas del sistema como fuente de datos. Sin embargo, Windows no incluye dicho directorio, por lo que la gema tzinfo-data debe instalarse en su lugar. La gema tzinfo-data contiene los mismos datos zoneinfo, empaquetados como un conjunto de módulos Ruby.

Rails genera un Gemfile predeterminado cuando la aplicación se crea 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 las versiones de 64 bits de Windows de Ruby. Esto debería solucionarse en futuras versiones de Rails.