【问题标题】:Rails Tutorial Error With Cloud 9云 9 的 Rails 教程错误
【发布时间】:2015-04-12 20:41:44
【问题描述】:

试图让它工作,但我遇到了麻烦。我正在按照以下说明进行操作: https://www.railstutorial.org/book/beginning#cha-beginning

我进入 1.3.2 并输入:

rails server -b $IP -p $PORT

导致这个错误而不是WEBrick运行:

/usr/local/rvm/gems/ruby-2.1.5@rails4/gems/sass-rails-5.0.1/lib/sass/rails/helpers.rb:11:in `<top (required)>': uninitialized constant Sass::Script (NameError)
        from /usr/local/rvm/gems/ruby-2.1.5@rails4/gems/sass-rails-5.0.1/lib/sass/rails.rb:8:in `require'
        from /usr/local/rvm/gems/ruby-2.1.5@rails4/gems/sass-rails-5.0.1/lib/sass/rails.rb:8:in `<top (required)>'
        from /usr/local/rvm/gems/ruby-2.1.5@rails4/gems/sass-rails-5.0.1/lib/sass-rails.rb:1:in `require'
        from /usr/local/rvm/gems/ruby-2.1.5@rails4/gems/sass-rails-5.0.1/lib/sass-rails.rb:1:in `<top (required)>'
        from /usr/local/rvm/gems/ruby-2.1.5@global/gems/bundler-1.7.6/lib/bundler/runtime.rb:76:in `require'
        from /usr/local/rvm/gems/ruby-2.1.5@global/gems/bundler-1.7.6/lib/bundler/runtime.rb:76:in `block (2 levels) in require'
        from /usr/local/rvm/gems/ruby-2.1.5@global/gems/bundler-1.7.6/lib/bundler/runtime.rb:72:in `each'
        from /usr/local/rvm/gems/ruby-2.1.5@global/gems/bundler-1.7.6/lib/bundler/runtime.rb:72:in `block in require'
        from /usr/local/rvm/gems/ruby-2.1.5@global/gems/bundler-1.7.6/lib/bundler/runtime.rb:61:in `each'
        from /usr/local/rvm/gems/ruby-2.1.5@global/gems/bundler-1.7.6/lib/bundler/runtime.rb:61:in `require'
        from /usr/local/rvm/gems/ruby-2.1.5@global/gems/bundler-1.7.6/lib/bundler.rb:133:in `require'
        from /home/ubuntu/workspace/hello_app/config/application.rb:7:in `<top (required)>'
        from /usr/local/rvm/gems/ruby-2.1.5@rails4/gems/railties-4.2.0/lib/rails/commands/commands_tasks.rb:78:in `require'
        from /usr/local/rvm/gems/ruby-2.1.5@rails4/gems/railties-4.2.0/lib/rails/commands/commands_tasks.rb:78:in `block in server'
        from /usr/local/rvm/gems/ruby-2.1.5@rails4/gems/railties-4.2.0/lib/rails/commands/commands_tasks.rb:75:in `tap'
        from /usr/local/rvm/gems/ruby-2.1.5@rails4/gems/railties-4.2.0/lib/rails/commands/commands_tasks.rb:75:in `server'
        from /usr/local/rvm/gems/ruby-2.1.5@rails4/gems/railties-4.2.0/lib/rails/commands/commands_tasks.rb:39:in `run_command!'
        from /usr/local/rvm/gems/ruby-2.1.5@rails4/gems/railties-4.2.0/lib/rails/commands.rb:17:in `<top (required)>'
        from /home/ubuntu/workspace/hello_app/bin/rails:8:in `require'
        from /home/ubuntu/workspace/hello_app/bin/rails:8:in `<top (required)>'
        from /usr/local/rvm/gems/ruby-2.1.5@rails4/gems/spring-1.1.3/lib/spring/client/rails.rb:27:in `load'
        from /usr/local/rvm/gems/ruby-2.1.5@rails4/gems/spring-1.1.3/lib/spring/client/rails.rb:27:in `call'
        from /usr/local/rvm/gems/ruby-2.1.5@rails4/gems/spring-1.1.3/lib/spring/client/command.rb:7:in `call'
        from /usr/local/rvm/gems/ruby-2.1.5@rails4/gems/spring-1.1.3/lib/spring/client.rb:26:in `run'
        from /usr/local/rvm/gems/ruby-2.1.5@rails4/gems/spring-1.1.3/bin/spring:48:in `<top (required)>'
        from /usr/local/rvm/gems/ruby-2.1.5@rails4/gems/spring-1.1.3/lib/spring/binstub.rb:11:in `load'
        from /usr/local/rvm/gems/ruby-2.1.5@rails4/gems/spring-1.1.3/lib/spring/binstub.rb:11:in `<top (required)>'
        from /home/ubuntu/workspace/hello_app/bin/spring:13:in `require'
        from /home/ubuntu/workspace/hello_app/bin/spring:13:in `<top (required)>'
        from bin/rails:3:in `load'
        from bin/rails:3:in `<main>'

这似乎只在您将 Gemfile 代码替换为指定的代码以获取 Ruby gem 的显式版本(下面的代码)时才会发生。

来源'https://rubygems.org'

gem 'rails',                '4.2.0'
gem 'sass-rails',           '5.0.1'
gem 'uglifier',             '2.5.3'
gem 'coffee-rails',         '4.1.0'
gem 'jquery-rails',         '4.0.3'
gem 'turbolinks',           '2.3.0'
gem 'jbuilder',             '2.2.3'
gem 'sdoc',                 '0.4.0', group: :doc

group :development, :test do
  gem 'sqlite3',     '1.3.9'
  gem 'byebug',      '3.4.0'
  gem 'web-console', '2.0.0.beta3'
  gem 'spring',      '1.1.3'
end

【问题讨论】:

    标签: ruby-on-rails cloud9-ide


    【解决方案1】:

    该教程似乎刚刚过时。如果您从

    更新您的 gemfile
    gem 'sass-rails',           '5.0.1'
    

    gem 'sass-rails',           '5.0.2'
    

    然后再次捆绑安装并启动服务器,它应该可以正常工作。

    (如果您愿意,也可以通过添加

    来运行解决方法
    gem 'sass', '3.4.13'
    

    在您现有的、未更新的行之前:

    gem 'sass-rails',           '5.0.1'
    

    在您的 gemfile 中,并进行捆绑安装并启动服务器。不过,我不知道你为什么需要这样做。)

    【讨论】:

    • 感谢您的解决方案。
    • 本教程已经更新了一个修复程序(将gem 'sass' 添加到 Gemfile),但这个解决方案更好。它现在已添加到教程中。谢谢!
    • 顺便说一句,“教程刚刚过时”并不完全正确。更准确的描述是“有人参与了 Sass gem 或 Ruby 生态系统的其他部分,做出了不应该在任何地方破坏任何东西的更改,但确实做到了。”唉,这与 Ruby 领域的课程相当——也许我们付出的代价总是moving so fast
    • @Blobert 你应该选择这个答案作为正确答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多