No puede iniciar el servidor de ferrocarriles: método indefinido `yaml_as' para BigDecimal: Clase (NoMethodError)
Estoy actualizando un proyecto desde los ferrocarriles 3 a los ferrocarriles 6.0.0. También he actualizado a Ruby 2.6.3. Corriendo rails s
Encuentro:
/Users/tibsar/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/activesupport-2.3.2/lib/active_support/vendor/builder-2.1.2/builder/xchar.rb:22: warning: constant ::Fixnum is deprecated
/Users/tibsar/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/activesupport-2.3.2/lib/active_support/vendor/builder-2.1.2/builder/xchar.rb:89: warning: constant ::Fixnum is deprecated
Traceback (most recent call last):
21: from /Users/tibsar/.rbenv/versions/2.6.3/bin/rails:23:in `'
20: from /Users/tibsar/.rbenv/versions/2.6.3/bin/rails:23:in `load'
19: from /Users/tibsar/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/rails-2.3.2/bin/rails:14:in `'
18: from /Users/tibsar/.rbenv/versions/2.6.3/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
17: from /Users/tibsar/.rbenv/versions/2.6.3/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
16: from /Users/tibsar/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/rails-2.3.2/lib/rails_generator.rb:28:in `'
15: from /Users/tibsar/.rbenv/versions/2.6.3/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
14: from /Users/tibsar/.rbenv/versions/2.6.3/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
13: from /Users/tibsar/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/activesupport-2.3.2/lib/active_support.rb:55:in `'
12: from /Users/tibsar/.rbenv/versions/2.6.3/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
11: from /Users/tibsar/.rbenv/versions/2.6.3/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
10: from /Users/tibsar/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/activesupport-2.3.2/lib/active_support/core_ext.rb:1:in `'
9: from /Users/tibsar/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/activesupport-2.3.2/lib/active_support/core_ext.rb:1:in `each'
8: from /Users/tibsar/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/activesupport-2.3.2/lib/active_support/core_ext.rb:3:in `block in '
7: from /Users/tibsar/.rbenv/versions/2.6.3/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
6: from /Users/tibsar/.rbenv/versions/2.6.3/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
5: from /Users/tibsar/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/activesupport-2.3.2/lib/active_support/core_ext/bigdecimal.rb:4:in `'
4: from /Users/tibsar/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/activesupport-2.3.2/lib/active_support/core_ext/bigdecimal.rb:5:in `'
3: from /Users/tibsar/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/activesupport-2.3.2/lib/active_support/core_ext/bigdecimal.rb:5:in `include'
2: from /Users/tibsar/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/activesupport-2.3.2/lib/active_support/core_ext/bigdecimal/conversions.rb:12:in `included'
1: from /Users/tibsarsoftware/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/activesupport-2.3.2/lib/active_support/core_ext/bigdecimal/conversions.rb:12:in `class_eval'
/Users/tibsar/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/activesupport-2.3.2/lib/active_support/core_ext/bigdecimal/conversions.rb:16:in `block in included': undefined method `yaml_as' for BigDecimal:Class (NoMethodError)
Did you mean? yaml_tag
He visto sugerencias para actualizar delayed_job
gema pero eso no ha arreglado el problema.
UPDATE
Mi Gemfile:
source 'https://rubygems.org'
# ruby
ruby '2.6.3'
gem "rails", "6.0.0"
bundle install
salidas "Using rails 6.0.0"
Sin embargo, la producción rails -v
es 2.3.2
Pregunta hecha hace 3 años, 4 meses, 29 días - Por techtrailblazer8d2c
3 Respuestas:
-
Necesitaba desinstalar y reinstalar los raíles manualmente.
gem uninstall rails
gem install rails -v 6.0.0
gem install railties && rbenv rehash
Respondida el Dec 16, 2020 a las 20:52 - por syntaxsensei8acf
Votos positivos: 0 | Votos negativos: 0 -
El error que estás experimentando parece estar relacionado con la incompatibilidad de versiones entre Rails 6.0.0 y ActiveSupport 2.3.2 en tu proyecto.
Para resolver este problema, te recomendaría lo siguiente:
- Actualiza las gemas a versiones compatibles con Rails 6.0.0. Puedes comenzar por actualizar la gema 'activesupport' en tu Gemfile a una versión que sea compatible con Rails 6.0.0. Puedes intentar con algo como:
ruby gem 'activesupport', '~> 6.0.0'
- Después de modificar tu Gemfile, ejecuta `bundle update activesupport` para actualizar la gema a la versión compatible.
- Asegúrate de que todas las demás gemas en tu Gemfile sean compatibles con Rails 6.0.0.
- Verifica que la Rails versión que estás usando en producción sea la correcta. Si la versión de Rails en producción sigue siendo 2.3.2, es posible que debas actualizarla también.
- Una vez actualizadas las gemas, prueba nuevamente iniciar el servidor de Rails con `rails s` y verifica si el error persiste.
Si sigues experimentando problemas, considera también verificar si hay otras gemas en tu proyecto que podrían estar causando conflictos de versiones y asegúrate de que todas están actualizadas a versiones compatibles con Rails 6.0.0.
Respondida el Dec 17, 2020 a las 20:51 - por Gpt
Votos positivos: 0 | Votos negativos: 0 -
El error indica que estás usando Rails 2.3.2 pero has actualizado a Rails 6.0.0.
Para resolver este problema, asegúrate de que:
- Tu archivo Gemfile especifica la versión correcta de Rails:
ruby source 'https://rubygems.org'
ruby
ruby '2.6.3'gem "rails", "6.0.0"
- Has ejecutado `bundle install`:
bundle install
Esto instalará todas las gemas requeridas, incluida la versión correcta de Rails.
- La versión de Rails en producción es correcta (opcional):
Si estás usando un entorno de producción, asegúrate de que la versión de Rails esté actualizada allí también.
Si aún encuentras problemas, intenta lo siguiente:
Eliminar el directorio
vendor/bundle
y ejecutarbundle install
nuevamente. Borrar el caché de Rails ejecutandorails cache:clear
Revisar el archivoconfig/environment.rb
para asegurarte de que esté cargando la versión correcta de Rails. Actualizar todas las gemas ejecutantobundle update
.Además, ten en cuenta que estás usando una versión antigua de
activesupport
(2.3.2). Te recomiendo actualizar a la última versión estable (6.1.7).Respondida el Dec 17, 2020 a las 20:57 - por Gemini
Votos positivos: 0 | Votos negativos: 0