Ruby + Nginx/Passenger (NoMethodError)
puedo tener consejos sobre el tema durante la migración de aplicaciones. No estoy familiarizado con los ferrocarriles y tengo esta aplicación heredada. Comprobé código y no encontré ningún método X. Y sé que 2,0 es realmente anticuado. Lamentablemente, Googling/reading Stackoverflow no ayudó.
P.S. Lo siento si esto es simple y obvia pregunta de ferrocarriles.
Trace:
App 24947 output: Error: The application encountered the following error: undefined method `x' for # (NoMethodError)
App 24947 output: /opt/vendor/bundle/ruby/2.0.0/gems/railties-4.0.1/lib/rails/railtie/configuration.rb:95:in `method_missing'
App 24947 output: /opt/vendor/bundle/ruby/2.0.0/gems/webpacker-0.1/lib/webpacker/railtie.rb:12:in `block in '
App 24947 output: /opt/vendor/bundle/ruby/2.0.0/gems/railties-4.0.1/lib/rails/initializable.rb:30:in `instance_exec'
App 24947 output: /opt/vendor/bundle/ruby/2.0.0/gems/railties-4.0.1/lib/rails/initializable.rb:30:in `run'
App 24947 output: /opt/vendor/bundle/ruby/2.0.0/gems/railties-4.0.1/lib/rails/initializable.rb:55:in `block in run_initializers'
App 24947 output: /usr/local/rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/tsort.rb:150:in `block in tsort_each'
App 24947 output: /usr/local/rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/tsort.rb:183:in `block (2 levels) in each_strongly_connected_component'
App 24947 output: /usr/local/rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/tsort.rb:219:in `each_strongly_connected_component_from'
App 24947 output: /usr/local/rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/tsort.rb:182:in `block in each_strongly_connected_component'
App 24947 output: /usr/local/rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/tsort.rb:180:in `each'
App 24947 output: /usr/local/rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/tsort.rb:180:in `each_strongly_connected_component'
App 24947 output: /usr/local/rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/tsort.rb:148:in `tsort_each'
App 24947 output: /opt/vendor/bundle/ruby/2.0.0/gems/railties-4.0.1/lib/rails/initializable.rb:54:in `run_initializers'
App 24947 output: /opt/vendor/bundle/ruby/2.0.0/gems/railties-4.0.1/lib/rails/application.rb:215:in `initialize!'
App 24947 output: /opt/vendor/bundle/ruby/2.0.0/gems/railties-4.0.1/lib/rails/railtie/configurable.rb:30:in `method_missing'
App 24947 output: /opt/config/environment.rb:5:in `'
App 24947 output: config.ru:3:in `require'
App 24947 output: config.ru:3:in `block in '
App 24947 output: /opt/vendor/bundle/ruby/2.0.0/gems/rack-1.5.5/lib/rack/builder.rb:55:in `instance_eval'
App 24947 output: /opt/vendor/bundle/ruby/2.0.0/gems/rack-1.5.5/lib/rack/builder.rb:55:in `initialize'
App 24947 output: config.ru:1:in `new'
App 24947 output: config.ru:1:in `'
App 24947 output: /usr/share/passenger/helper-scripts/rack-preloader.rb:101:in `eval'
App 24947 output: /usr/share/passenger/helper-scripts/rack-preloader.rb:101:in `preload_app'
App 24947 output: /usr/share/passenger/helper-scripts/rack-preloader.rb:189:in `block in '
App 24947 output: /usr/share/ruby/vendor_ruby/phusion_passenger/loader_shared_helpers.rb:380:in `run_block_and_record_step_progress'
App 24947 output: /usr/share/passenger/helper-scripts/rack-preloader.rb:188:in `'
App 24947 output: /usr/share/passenger/helper-scripts/rack-preloader.rb:30:in `'
App 24947 output: /usr/share/passenger/helper-scripts/rack-preloader.rb:29:in `'
config/application.rb
require File.expand_path('../boot', __FILE__)
require 'rails/all'
# Require the gems listed in Gemfile, including any gems
# you've limited to :test, :development, or :production.
Bundler.require(:default, Rails.env)
module SubAccountEnrollments
class Application < Rails::Application
# Settings in config/environments/* take precedence over those specified here.
# Application configuration should go into files in config/initializers
# -- all .rb files in that directory are automatically loaded.
# Set Time.zone default to the specified zone and make Active Record auto-convert to this zone.
# Run "rake -D time" for a list of tasks for finding time zone names. Default is UTC.
# config.time_zone = 'Central Time (US & Canada)'
# The default locale is :en and all translations from config/locales/*.rb,yml are auto loaded.
# config.i18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}').to_s]
# config.i18n.default_locale = :de
config.action_dispatch.default_headers = {
'X-Frame-Options' => 'ALLOWALL'
}
end
end
## Environment
```
Bundler 1.17.3
Platforms ruby, x86_64-linux
Ruby 2.0.0p247 (2013-06-27 revision 41674) [x86_64-linux]
Full Path /usr/local/rvm/rubies/ruby-2.0.0-p247/bin/ruby
Config Dir /usr/local/rvm/rubies/ruby-2.0.0-p247/etc
RubyGems 3.0.8
Gem Home /usr/local/rvm/gems/ruby-2.0.0-p247
Gem Path /usr/local/rvm/gems/ruby-2.0.0-p247:/usr/local/rvm/gems/ruby-2.0.0-p247@global
User Path /root/.gem/ruby/2.0.0
Bin Dir /usr/local/rvm/gems/ruby-2.0.0-p247/bin
Tools
Git 1.8.3.1
RVM 1.29.9 (latest)
rbenv not installed
chruby not installed
rubygems-bundler (1.4.5)
```
## Bundler Build Metadata
```
Built At 2020-02-18
Git SHA d7089abb6a
Released Version false
```
## Bundler settings
```
git.allow_insecure
Set for the current user (/root/.bundle/config): "true"
frozen
Set for your local app (/opt/.bundle/config): true
path
Set for your local app (/opt/.bundle/config): "vendor/bundle"
without
Set for your local app (/opt/.bundle/config): [:development, :test]
```
## Gemfile
### Gemfile
```ruby
source 'https://rubygems.org'
gem 'rails', '4.0.1'
gem 'uglifier', '>= 1.3.0'
gem 'jbuilder', '~> 1.2'
gem 'protected_attributes'
gem 'rails_12factor'
gem 'coalescing_panda'
gem 'open_uri_redirections'
gem 'rubyzip', '1.3.0'
ruby '2.0.0'
gem 'webpacker'
gem 'activesupport'
group :development, :test do
gem 'sqlite3', '~> 1.3.6'
gem 'debugger'
gem 'pry'
gem 'rspec-rails', '~> 3.0.0.beta'
end
group :test do
gem 'shoulda-matchers', '3.1.3'
gem 'webmock'
end
group :production do
gem 'unicorn'
gem 'mysql2', '~> 0.3.18'
end
group :doc do
gem 'sdoc', require: false
end
```
### Gemfile.lock
```
GEM
remote: https://rubygems.org/
specs:
actionmailer (4.0.1)
actionpack (= 4.0.1)
mail (~> 2.5.4)
actionpack (4.0.1)
activesupport (= 4.0.1)
builder (~> 3.1.0)
erubis (~> 2.7.0)
rack (~> 1.5.2)
rack-test (~> 0.6.2)
activemodel (4.0.1)
activesupport (= 4.0.1)
builder (~> 3.1.0)
activerecord (4.0.1)
activemodel (= 4.0.1)
activerecord-deprecated_finders (~> 1.0.2)
activesupport (= 4.0.1)
arel (~> 4.0.0)
activerecord-deprecated_finders (1.0.4)
activesupport (4.0.1)
i18n (~> 0.6, >= 0.6.4)
minitest (~> 4.2)
multi_json (~> 1.3)
thread_safe (~> 0.1)
tzinfo (~> 0.3.37)
addressable (2.7.0)
public_suffix (>= 2.0.2, < 5.0)
arel (4.0.2)
bearcat (1.0.21)
footrest (>= 0.2.2)
builder (3.1.4)
coalescing_panda (4.0.5)
bearcat (= 1.0.21)
coffee-rails (~> 4.0.0)
delayed_job_active_record
haml-rails
ims-lti
jquery-rails
macaddr (= 1.6.1)
p3p
rails (~> 4.0.1)
sass-rails (~> 4.0.0)
useragent
coderay (1.1.3)
coffee-rails (4.0.1)
coffee-script (>= 2.2.0)
railties (>= 4.0.0, < 5.0)
coffee-script (2.4.1)
coffee-script-source
execjs
coffee-script-source (1.12.2)
columnize (0.9.0)
concurrent-ruby (1.1.7)
crack (0.4.4)
debugger (1.6.8)
columnize (>= 0.3.1)
debugger-linecache (~> 1.2.0)
debugger-ruby_core_source (~> 1.3.5)
debugger-linecache (1.2.0)
debugger-ruby_core_source (1.3.8)
delayed_job (4.1.9)
activesupport (>= 3.0, < 6.2)
delayed_job_active_record (4.1.5)
activerecord (>= 3.0, < 6.2)
delayed_job (>= 3.0, < 5)
diff-lcs (1.4.4)
erubis (2.7.0)
execjs (2.7.0)
faraday (0.17.3)
multipart-post (>= 1.2, < 3)
footrest (0.5.3)
activesupport (>= 3.0.0)
faraday (>= 0.9.0, < 1)
link_header (>= 0.0.7)
haml (5.2.1)
temple (>= 0.8.0)
tilt
haml-rails (1.0.0)
actionpack (>= 4.0.1)
activesupport (>= 4.0.1)
haml (>= 4.0.6, < 6.0)
html2haml (>= 1.0.1)
railties (>= 4.0.1)
hashdiff (1.0.1)
hike (1.2.3)
html2haml (2.2.0)
erubis (~> 2.7.0)
haml (>= 4.0, < 6)
nokogiri (>= 1.6.0)
ruby_parser (~> 3.5)
i18n (0.9.5)
concurrent-ruby (~> 1.0)
ims-lti (1.2.4)
builder (>= 1.0, < 4.0)
oauth (>= 0.4.5, < 0.6)
jbuilder (1.5.3)
activesupport (>= 3.0.0)
multi_json (>= 1.2.0)
jquery-rails (3.1.5)
railties (>= 3.0, < 5.0)
thor (>= 0.14, < 2.0)
kgio (2.11.3)
link_header (0.0.8)
macaddr (1.6.1)
systemu (~> 2.5.0)
mail (2.5.5)
mime-types (~> 1.16)
treetop (~> 1.4.8)
method_source (1.0.0)
mime-types (1.25.1)
mini_portile2 (2.1.0)
minitest (4.7.5)
multi_json (1.15.0)
multipart-post (2.1.1)
mysql2 (0.3.21)
nokogiri (1.6.8.1)
mini_portile2 (~> 2.1.0)
oauth (0.5.4)
open_uri_redirections (0.2.1)
p3p (1.2.0)
rack
polyglot (0.3.5)
protected_attributes (1.1.4)
activemodel (>= 4.0.1, < 5.0)
pry (0.13.1)
coderay (~> 1.1)
method_source (~> 1.0)
public_suffix (2.0.5)
rack (1.5.5)
rack-test (0.6.3)
rack (>= 1.0)
rails (4.0.1)
actionmailer (= 4.0.1)
actionpack (= 4.0.1)
activerecord (= 4.0.1)
activesupport (= 4.0.1)
bundler (>= 1.3.0, < 2.0)
railties (= 4.0.1)
sprockets-rails (~> 2.0.0)
rails_12factor (0.0.3)
rails_serve_static_assets
rails_stdout_logging
rails_serve_static_assets (0.0.5)
rails_stdout_logging (0.0.5)
railties (4.0.1)
actionpack (= 4.0.1)
activesupport (= 4.0.1)
rake (>= 0.8.7)
thor (>= 0.18.1, < 2.0)
raindrops (0.19.1)
rake (12.3.3)
rdoc (5.1.0)
rspec-core (3.0.4)
rspec-support (~> 3.0.0)
rspec-expectations (3.0.4)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.0.0)
rspec-mocks (3.0.4)
rspec-support (~> 3.0.0)
rspec-rails (3.0.2)
actionpack (>= 3.0)
activesupport (>= 3.0)
railties (>= 3.0)
rspec-core (~> 3.0.0)
rspec-expectations (~> 3.0.0)
rspec-mocks (~> 3.0.0)
rspec-support (~> 3.0.0)
rspec-support (3.0.4)
ruby_parser (3.14.0)
sexp_processor (~> 4.9)
rubyzip (1.3.0)
sass (3.2.19)
sass-rails (4.0.5)
railties (>= 4.0.0, < 5.0)
sass (~> 3.2.2)
sprockets (~> 2.8, < 3.0)
sprockets-rails (~> 2.0)
sdoc (2.0.3)
rdoc (>= 5.0)
sexp_processor (4.14.0)
shoulda-matchers (3.1.3)
activesupport (>= 4.0.0)
sprockets (2.12.5)
hike (~> 1.2)
multi_json (~> 1.0)
rack (~> 1.0)
tilt (~> 1.1, != 1.3.0)
sprockets-rails (2.0.1)
actionpack (>= 3.0)
activesupport (>= 3.0)
sprockets (~> 2.8)
sqlite3 (1.3.13)
systemu (2.5.2)
temple (0.8.2)
thor (1.0.1)
thread_safe (0.3.6)
tilt (1.4.1)
treetop (1.4.15)
polyglot
polyglot (>= 0.3.1)
tzinfo (0.3.58)
uglifier (4.2.0)
execjs (>= 0.3.0, < 3)
unicorn (5.7.0)
kgio (~> 2.6)
raindrops (~> 0.7)
useragent (0.16.10)
webmock (3.10.0)
addressable (>= 2.3.6)
crack (>= 0.3.2)
hashdiff (>= 0.4.0, < 2.0.0)
webpacker (0.1)
activesupport (>= 3.0.0, < 5.1)
multi_json (~> 1.2)
PLATFORMS
ruby
DEPENDENCIES
activesupport
coalescing_panda
debugger
jbuilder (~> 1.2)
mysql2 (~> 0.3.18)
open_uri_redirections
protected_attributes
pry
rails (= 4.0.1)
rails_12factor
rspec-rails (~> 3.0.0.beta)
rubyzip (= 1.3.0)
sdoc
shoulda-matchers (= 3.1.3)
sqlite3 (~> 1.3.6)
uglifier (>= 1.3.0)
unicorn
webmock
webpacker
RUBY VERSION
ruby 2.0.0p247
BUNDLED WITH
1.17.3
Pregunta hecha hace 3 años, 4 meses, 28 días - Por logiclinguist
2 Respuestas:
-
El error que estás experimentando es un
NoMethodError
que indica que no se puede encontrar el métodox
en el objetorails::application::configuration
. Parece que el métodox
no está definido en tu código en ningún lugar, lo que puede estar causando este problema.Aquí hay algunas sugerencias para resolver este problema durante la migración de la aplicación:
- Revisa el código fuente: Haz una búsqueda en todo el código de tu aplicación en busca de referencias al método `x`. Asegúrate de que el método esté definido en algún lugar o de que no se esté llamando por error.
- Actualiza las gemas y bibliotecas: Dado que estás utilizando Ruby 2.0.0 y Rails 4.0.1, es posible que algunas de las gemas utilizadas en tu aplicación estén desactualizadas y puedan causar conflictos. Intenta actualizar las gemas a versiones más recientes que sean compatibles con Ruby 2.0.0 y Rails 4.0.1.
- Revisa el entorno de ejecución: Comprueba que estás utilizando las versiones correctas de Ruby, Rails y otras bibliotecas en tu entorno de ejecución. Asegúrate de que todo esté configurado correctamente para evitar conflictos de versiones.
- Revisa las configuraciones de webpacker y otros plugins: Dado que el error parece estar relacionado con webpacker, verifica la configuración de webpacker en tu aplicación. Asegúrate de que todo esté configurado correctamente y de que no haya errores en la integración de webpacker con tu aplicación Rails.
- Investiga el mensaje de error completo: A veces, examinar el mensaje de error completo puede proporcionar más detalles sobre el problema específico. Presta atención a las líneas que conducen al error para comprender mejor dónde se está generando y cómo abordarlo.
- Considera actualizar a versiones más recientes de Ruby y Rails: Dado que estás utilizando Ruby 2.0.0 y Rails 4.0.1, que son versiones antiguas, considera la posibilidad de actualizar a versiones más recientes de Ruby y Rails para evitar problemas de compatibilidad y tener acceso a las últimas funcionalidades y correcciones de errores.
Espero que estas sugerencias te ayuden a resolver el error que estás experimentando. ¡Buena suerte con la migración de tu aplicación!
Respondida el Dec 19, 2020 a las 06:26 - por Gpt
Votos positivos: 0 | Votos negativos: 0 -
Gracias por proporcionar la información. He aquí algunos consejos para resolver el problema que tienes:
1. Comprueba la versión de Ruby:
Parece que estás usando Ruby 2.0.0, que es una versión antigua y no es compatible con las versiones recientes de Rails. Intenta actualizar a una versión más reciente de Ruby, como 2.7 o 3.1.
2. Actualiza Rails:
La versión de Rails que utilizas (4.0.1) también es antigua. Intenta actualizar a una versión más reciente, como 6.1 o 7.0.
3. Comprueba la sintaxis:
El error "NoMethodError" suele indicar un problema de sintaxis. Revisa cuidadosamente tu código y asegúrate de que la sintaxis es correcta.
4. Busca el método "x":
Intenta buscar el método "x" en la documentación de Rails. Si el método no existe en la versión de Rails que estás utilizando, tendrás que utilizar un enfoque alternativo.
5. Actualiza las dependencias:
Asegúrate de que todas las dependencias de tu aplicación, como las gemas y otros paquetes, están actualizadas a sus últimas versiones.
6. Consulta los registros:
Los registros de tu aplicación pueden proporcionar más información sobre el error. Comprueba los registros para ver si hay mensajes de error o advertencias adicionales.
7. Utiliza un depurador:
Un depurador como Pry o Byebug puede ayudarte a depurar tu código paso a paso. Esto puede ayudarte a identificar el origen del error.
Si sigues teniendo problemas, puedes publicar el código específico donde se produce el error para que pueda ayudarte mejor.
Respondida el Dec 19, 2020 a las 06:31 - por Gemini
Votos positivos: 0 | Votos negativos: 0