【问题标题】:Error when running rails s运行 rails s 时出错
【发布时间】:2017-11-23 21:47:43
【问题描述】:

我正在尝试遵循 Rails 教程并设法运行捆绑安装。但是,在运行 rails s 时,我收到以下错误。

Users/abc/.rvm/gems/ruby-2.4.1@railstutorial_rails_4_0/gems/railties-4.0.8/lib/rails/railtie/configuration.rb:95:in `method_missing': undefined method `load_defaults' for #<Rails::Application::Configuration:0x007fc29e53d7a8> (NoMethodError)
from /Users/abc/Desktop/Rails_Projects/sample_app/config/application.rb:12:in `<class:Application>'
from /Users/abc/Desktop/Rails_Projects/sample_app/config/application.rb:10:in `<module:SampleApp>'
from /Users/abc/Desktop/Rails_Projects/sample_app/config/application.rb:9:in `<top (required)>'
from /Users/abc/.rvm/gems/ruby-2.4.1@railstutorial_rails_4_0/gems/railties-4.0.8/lib/rails/commands.rb:74:in `require'
from /Users/abc/.rvm/gems/ruby-2.4.1@railstutorial_rails_4_0/gems/railties-4.0.8/lib/rails/commands.rb:74:in `block in <top (required)>'
from /Users/abc/.rvm/gems/ruby-2.4.1@railstutorial_rails_4_0/gems/railties-4.0.8/lib/rails/commands.rb:71:in `tap'
from /Users/abc/.rvm/gems/ruby-2.4.1@railstutorial_rails_4_0/gems/railties-4.0.8/lib/rails/commands.rb:71:in `<top (required)>'
from bin/rails:9:in `require'
from bin/rails:9:in `<main>'

这是我的宝石文件

source 'https://rubygems.org'
ruby '2.4.1'
#ruby-gemset=railstutorial_rails_4_0
gem 'rails', '4.0.8'
group :development, :test do
    gem 'sqlite3'
    gem 'rspec-rails', '2.13.1'
end
group :test do
    gem 'selenium-webdriver', '2.35.1'
    gem 'capybara', '2.1.0'
end
gem 'sass-rails', '4.0.3'
gem 'uglifier', '2.1.1'
gem 'coffee-rails', '4.0.1'
gem 'jquery-rails', '3.0.4'
gem 'turbolinks', '1.1.1'
gem 'jbuilder', '1.0.2'
group :doc do
    gem 'sdoc', '0.3.20', require: false
end
group :production do
    gem 'pg', '0.15.1'
    gem 'rails_12factor', '0.0.2'
end

提前致谢

编辑:

这是我的 config/application.rb 文件。我注意到错误发生在

'config.load_defaults 5.1'。我读过另一个建议删除这一行的答案,但这会给我带来更多问题。

require_relative 'boot'

require 'rails/all'

# Require the gems listed in Gemfile, including any gems
# you've limited to :test, :development, or :production.
Bundler.require(*Rails.groups)

module MhApp
  class Application < Rails::Application
    # Initialize configuration defaults for originally generated Rails version.
    config.load_defaults 5.1

    # 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.
    config.assets.precompile += %w(*.png *.jpg *.jpeg *.gif)

  end
end

【问题讨论】:

  • 你能把你的config/application.rb文件的内容也包括进来吗?
  • 嗨,我刚刚编辑了我的问题并发布了文件的内容。尽管我不确定如何修复它,但我已经设法找出错误发生的位置。
  • 尝试阅读这个问题:我看到您的 gem 文件指定了 Rails 4.0.8,但您的 config/application.rb 文件看起来像是来自更新版本的 Rails。也许您在本地使用较新版本的 Rails new 然后将您的 gem 文件更新为 4.0.8

标签: ruby-on-rails ruby


【解决方案1】:

试试这个gem install bundler

然后运行

bundle install

【讨论】:

    【解决方案2】:

    您必须更改您的 rails 版本,当您创建它在 rails 5.1 版本中创建的新应用程序时(也许)首先检查您的 rails 版本并在 gem 文件中更新它。

    使用此命令检查您的 Rails 版本rails -v 然后在 gem 文件中更新你的版本然后你必须给bundle install

    希望这会对你有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-04-03
      • 1970-01-01
      • 1970-01-01
      • 2018-03-08
      • 1970-01-01
      • 2021-06-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多