【问题标题】:Can't run new application无法运行新应用程序
【发布时间】:2012-04-27 13:10:20
【问题描述】:

我已经使用本指南在我的 MacOS X 中安装了 RoR http://ryanbigg.com/2010/12/ubuntu-ruby-rvm-rails-and-you/

这是我的版本:

$ ruby --version
ruby 1.8.7 (2010-01-10 patchlevel 249) [universal-darwin11.0]
$ rails --version
Rails 3.2.3
$ gem --version
1.8.23

我无法运行我的应用程序,因此我使用本教程搜索并修改了 Gemfile:http://ruby.railstutorial.org/ruby-on-rails-tutorial-book

现在这是我的 Gemfile:

source 'https://rubygems.org'

gem 'rails', '3.2.3'

# Bundle edge Rails instead:
# gem 'rails', :git => 'git://github.com/rails/rails.git'

group :development do
  gem 'sqlite3', '1.3.5'
end

# Gems used only for assets and not required
# in production environments by default.
group :assets do
  gem 'sass-rails',   '3.2.4'
  gem 'coffee-rails', '3.2.2'

  # See https://github.com/sstephenson/execjs#readme for more supported runtimes
  # gem 'therubyracer', :platform => :ruby

  gem 'uglifier', '1.2.3'
end

gem 'jquery-rails', '2.0.0'

# To use ActiveModel has_secure_password
# gem 'bcrypt-ruby', '~> 3.0.0'

# To use Jbuilder templates for JSON
# gem 'jbuilder'

# Use unicorn as the app server
# gem 'unicorn'

# Deploy with Capistrano
# gem 'capistrano'

# To use debugger
# gem 'ruby-debug19', :require => 'ruby-debug'

当我使用运行应用程序时

rails server

我知道了:

=> Booting WEBrick
=> Rails 3.2.3 application starting in development on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
Exiting
/Library/Ruby/Gems/1.8/gems/activesupport-3.2.3/lib/active_support/dependencies.rb:245:in `load': /Users/giacomo/websrc/rubyrails-app/config/initializers/session_store.rb:3: syntax error, unexpected ':', expecting $end (SyntaxError)
...sion_store :cookie_store, key: '_rubyrails-app_session'
                              ^
    from /Library/Ruby/Gems/1.8/gems/activesupport-3.2.3/lib/active_support/dependencies.rb:245:in `load'
    from /Library/Ruby/Gems/1.8/gems/activesupport-3.2.3/lib/active_support/dependencies.rb:236:in `load_dependency'
    from /Library/Ruby/Gems/1.8/gems/activesupport-3.2.3/lib/active_support/dependencies.rb:245:in `load'
    from /Library/Ruby/Gems/1.8/gems/railties-3.2.3/lib/rails/engine.rb:588
    from /Library/Ruby/Gems/1.8/gems/railties-3.2.3/lib/rails/engine.rb:587:in `each'
    from /Library/Ruby/Gems/1.8/gems/railties-3.2.3/lib/rails/engine.rb:587
    from /Library/Ruby/Gems/1.8/gems/railties-3.2.3/lib/rails/initializable.rb:30:in `instance_exec'
    from /Library/Ruby/Gems/1.8/gems/railties-3.2.3/lib/rails/initializable.rb:30:in `run'
    from /Library/Ruby/Gems/1.8/gems/railties-3.2.3/lib/rails/initializable.rb:55:in `run_initializers'
    from /Library/Ruby/Gems/1.8/gems/railties-3.2.3/lib/rails/initializable.rb:54:in `each'
    from /Library/Ruby/Gems/1.8/gems/railties-3.2.3/lib/rails/initializable.rb:54:in `run_initializers'
    from /Library/Ruby/Gems/1.8/gems/railties-3.2.3/lib/rails/application.rb:136:in `initialize!'
    from /Library/Ruby/Gems/1.8/gems/railties-3.2.3/lib/rails/railtie/configurable.rb:30:in `send'
    from /Library/Ruby/Gems/1.8/gems/railties-3.2.3/lib/rails/railtie/configurable.rb:30:in `method_missing'
    from /Users/giacomo/websrc/rubyrails-app/config/environment.rb:5
    from /Users/giacomo/websrc/rubyrails-app/config.ru:4:in `require'
    from /Users/giacomo/websrc/rubyrails-app/config.ru:4
    from /Library/Ruby/Gems/1.8/gems/rack-1.4.1/lib/rack/builder.rb:51:in `instance_eval'
    from /Library/Ruby/Gems/1.8/gems/rack-1.4.1/lib/rack/builder.rb:51:in `initialize'
    from /Users/giacomo/websrc/rubyrails-app/config.ru:1:in `new'
    from /Users/giacomo/websrc/rubyrails-app/config.ru:1

我该如何解决这个问题?

【问题讨论】:

    标签: ruby-on-rails ruby gemfile


    【解决方案1】:

    使用 Ruby 1.9.x 而不是 1.8.7。

    或者打开/Users/giacomo/websrc/rubyrails-app/config/initializers/session_store.rb并替换:

    key: '_rubyrails-app_session'
    

    与:

    :key => '_rubyrails-app_session'
    

    打开/Users/giacomo/websrc/rubyrails-app/config/initializers/wrap_parameters.rb 并替换:

    wrap_parameters format: [:json]
    

    与:

    wrap_parameters :format => [:json]
    

    【讨论】:

    • 您好,感谢您的及时回复。现在我确定运行 1.9.3。我已经重新创建了应用程序,但现在运行 bundle install: Fetching gem metadata from https://rubygems.org/./Users/giacomo/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/net/http.rb:799: [BUG] Segmentation fault ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-darwin11.3.0] 时出现分段错误。
    • 抱歉,这是另一个问题。我用 Google 快速搜索了一下,但我认为我无法帮助您。
    • 我在 Rails 上运气不佳,但我对此非常感兴趣。我也在尝试在 Ubuntu 11.04(相同版本的 Rails)中运行它。但是当我创建一个新应用程序时,我得到了这个:... run bundle install /home/developer/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in 'require': cannot load such file -- openssl (LoadError) ... Fetching gem metadata from https://rubygems.org/.Unfortunately, a fatal error has occurred. Please report this error to the Bundler issue tracker at ...
    • 必须更改这些值(默认值,也应该在 1.9.x 上运行)有点奇怪
    【解决方案2】:

    出现错误是因为新的 ruby​​ 有另一种哈希语法。您使用的教程已过时,我建议您尝试一下:http://railsapps.github.com/installing-rails.html 这是我能找到的最好的。而且它还在不断更新。

    在您的情况下,您只需要安装新版本的 ruby​​,然后重新安装 rails。

    【讨论】:

    • 在 Mac OS 上更新到 1.9.3 我无法再运行 bundle install,我已经使用 gem install ... 手动安装了所有 deps,现在我可以将浏览器指向 http://localhost:3000/ .更新指南有帮助!
    猜你喜欢
    • 1970-01-01
    • 2014-04-08
    • 1970-01-01
    • 1970-01-01
    • 2020-10-24
    • 1970-01-01
    • 2014-04-26
    • 2017-01-12
    • 2013-11-03
    相关资源
    最近更新 更多