2017-03-10 3 views
0

ich eine Ruby on Rails-Projekt erstellt auf/home/web/RubyOnRailsWenn laufen Schienen Server bekam eine Menge Fehler

Wenn laufen Schienen Server dann unter Fehler bekam:

[email protected]:~/Rubyonrails$ rails server 
/home/web/Rubyonrails/config/application.rb:19:in `block in <top (required)>': undefined local variable or method `config' for main:Object (NameError) 
    from /home/web/Rubyonrails/config/application.rb:18:in `tap' 
    from /home/web/Rubyonrails/config/application.rb:18:in `<top (required)>' 
    from /home/web/.rvm/gems/ruby-2.4.0/gems/railties-5.0.2/lib/rails/commands/commands_tasks.rb:88:in `require' 
    from /home/web/.rvm/gems/ruby-2.4.0/gems/railties-5.0.2/lib/rails/commands/commands_tasks.rb:88:in `block in server' 
    from /home/web/.rvm/gems/ruby-2.4.0/gems/railties-5.0.2/lib/rails/commands/commands_tasks.rb:85:in `tap' 
    from /home/web/.rvm/gems/ruby-2.4.0/gems/railties-5.0.2/lib/rails/commands/commands_tasks.rb:85:in `server' 
    from /home/web/.rvm/gems/ruby-2.4.0/gems/railties-5.0.2/lib/rails/commands/commands_tasks.rb:49:in `run_command!' 
    from /home/web/.rvm/gems/ruby-2.4.0/gems/railties-5.0.2/lib/rails/commands.rb:18:in `<top (required)>' 
    from /home/web/Rubyonrails/bin/rails:9:in `require' 
    from /home/web/Rubyonrails/bin/rails:9:in `<top (required)>' 
    from /home/web/.rvm/gems/ruby-2.4.0/gems/spring-2.0.1/lib/spring/client/rails.rb:28:in `load' 
    from /home/web/.rvm/gems/ruby-2.4.0/gems/spring-2.0.1/lib/spring/client/rails.rb:28:in `call' 
    from /home/web/.rvm/gems/ruby-2.4.0/gems/spring-2.0.1/lib/spring/client/command.rb:7:in `call' 
    from /home/web/.rvm/gems/ruby-2.4.0/gems/spring-2.0.1/lib/spring/client.rb:30:in `run' 
    from /home/web/.rvm/gems/ruby-2.4.0/gems/spring-2.0.1/bin/spring:49:in `<top (required)>' 
    from /home/web/.rvm/gems/ruby-2.4.0/gems/spring-2.0.1/lib/spring/binstub.rb:31:in `load' 
    from /home/web/.rvm/gems/ruby-2.4.0/gems/spring-2.0.1/lib/spring/binstub.rb:31:in `<top (required)>' 
    from /home/web/Rubyonrails/bin/spring:15:in `require' 
    from /home/web/Rubyonrails/bin/spring:15:in `<top (required)>' 
    from bin/rails:3:in `load' 
    from bin/rails:3:in `<main>' 

config/Anwendung. rb-Datei:

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 Rubyonrails 
    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. 
    end 
end 

# Bower asset paths 
Rails.root.join('vendor', 'assets', 'bower_components').to_s.tap do |bower_path| 
    config.sass.load_paths << bower_path 
    config.assets.paths << bower_path 
end 
# Precompile Bootstrap fonts 
config.assets.precompile << %r(bootstrap-sass/assets/fonts/bootstrap/[\w-]+\.(?:eot|svg|ttf|woff2?)$) 
# Minimum Sass number precision required by bootstrap-sass 
::Sass::Script::Value::Number.precision = [8, ::Sass::Script::Value::Number.precision].max 

RubyOnRails/bin/Schienen-Datei wie folgt aussieht:

#!/usr/bin/env ruby 
begin 
    load File.expand_path('../spring', __FILE__) 
rescue LoadError => e 
    raise unless e.message.include?('spring') 
end 
APP_PATH = File.expand_path('../config/application', __dir__) 
require_relative '../config/boot' 
require 'rails/commands' 
Datei 210

RubyOnRails/bin/Feder wie folgt aussieht:

#!/usr/bin/env ruby 

# This file loads spring without using Bundler, in order to be fast. 
# It gets overwritten when you run the `spring binstub` command. 

unless defined?(Spring) 
    require 'rubygems' 
    require 'bundler' 

    lockfile = Bundler::LockfileParser.new(Bundler.default_lockfile.read) 
    spring = lockfile.specs.detect { |spec| spec.name == "spring" } 
    if spring 
    Gem.use_paths Gem.dir, Bundler.bundle_path.to_s, *Gem.path 
    gem 'spring', spring.version 
    require 'spring/binstub' 
    end 
end 
+0

Wie sieht Ihre Datei 'config/application.rb' aus - besonders in Zeile 18? – spickermann

+0

Ich habe auf meinen Beitrag oben als Referenz eingefügt. – Yunqing

+0

Bitte lesen Sie "[fragen]" einschließlich der verlinkten Seiten. Sie stellen zwei Fragen, die scheinbar nichts miteinander zu tun haben. Tun Sie das nicht, da es zu Antworten führt, die nicht verwandt sind. Stellen Sie stattdessen eine spezifische Frage, oder zwei, die sehr eng verwandt sind. –

Antwort

1

ändern Linie 18 Ihrer config/application.rb zu:

Rails.root.join('vendor', 'assets', 'bower_components').to_s.tap do |bower_path| 

root ist nicht definiert, aber Rails.root ist.

+0

Danke für Ihre Hilfe !! Ich habe das Problem bereits gelöst! – Yunqing

1

In application.rb

# Bower asset paths 
root.join('vendor', 'assets', 'bower_components').to_s.tap do |bower_path| 
    config.sass.load_paths << bower_path 
    config.assets.paths << bower_path 
end 

Sie vermissen Rails vor root:

# Bower asset paths 
Rails.root.join('vendor', 'assets', 'bower_components').to_s.tap do |bower_path| 
    config.sass.load_paths << bower_path 
    config.assets.paths << bower_path 
end 
+0

Danke für Ihre Antwort. Ich habe Rails vor root hinzugefügt, aber immer noch den gleichen Fehler. – Yunqing

+0

Danke für Ihre Hilfe !! Ich habe das Problem bereits gelöst! – Yunqing

0

Wenn Sie

source /home/web/.rvm/scripts/rvm 

jedes Mal, wenn Sie ein Fenster öffnen laufen haben, dann Sie haven Ich habe RVM nicht richtig installiert.

Lesen Sie sorgfältig "Installing RVM" und bestätigen Sie, dass Sie diese Schritte befolgt haben.

Sobald Sie bestätigt haben, dass die Installation korrekt ist, müssen Sie einen Standard-Ruby für RVM festlegen. Zuerst Liste der Rubyies RVM verwaltet:

rvm list 

, die wie etwas zurückgibt:

rvm rubies 

=* ruby-2.4.0 [ x86_64 ] 

# => - current 
# =* - current && default 
# * - default 

dann RVM sagen zu verwenden, ein:

rvm use ruby-2.4.0 --default 

Außerdem ist es eine gute Idee, regelmäßig zu sagen RVM, um sich selbst zu aktualisieren. Führen Sie in der Befehlszeile für weitere Informationen

rvm help get 

aus.

+0

Vielen Dank! Es löste mein RVM-Problem.Ich installiere RVM neu. aber wenn ich rails server starte, ist die fehlermeldung immer noch gleich. Ich bearbeite application.rb und folge anderen Vorschlägen wie diesem Rails.root.join ('vendor', 'assets', 'bower_components'). To_s.tap do | bower_path | – Yunqing

+0

Danke für Ihre Hilfe !! Ich habe das Problem bereits gelöst! – Yunqing

Verwandte Themen