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
paquete env:
## 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étodo x en el objeto rails::application::configuration. Parece que el método x 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