2012-04-27 184 views
3

我使用本指南 http://ryanbigg.com/2010/12/ubuntu-ruby-rvm-rails-and-you/無法運行新的應用程序

這裏我的版本在我的MacOS X系統安裝回報率:

$ 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 

我無法運行我的應用程序,所以我GOOGLE和修改的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 

我怎樣才能解決這個問題?

回答

2

發生此錯誤是因爲新的ruby有另一種散列語法。你使用的教程已過時,我建議嘗試一下:http://railsapps.github.com/installing-rails.html 這是我能找到的最好的。它也不斷更新。

在你的情況下,你只需要安裝新版本的紅寶石,然後重新安裝導軌。

+0

在Mac OS上更新到1.9.3我不能再運行'bundle install',我已經使用'gem install ...'手動安裝了所有的代碼,現在我可以將瀏覽器指向'HTTP://本地主機:3000 /'。更新的指南幫助! – gsscoder 2012-04-28 09:38:11

4

通過使用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] 
+0

嗨,感謝您的及時響應。現在我確定運行1.9.3。我已經重新創建了應用程序,但是現在我在運行'bundle install'時遇到了分段錯誤:'從https://rubygems.org/./Users/giacomo/.rvm/rubies/ruby-1.9.3獲取gem元數據-p194/lib/ruby​​/1.9.1/net/http.rb:799:[BUG]分割錯誤 ruby​​ 1.9.3p194(2012-04-20修訂版35410)[x86_64-darwin11.3.0]'。 – gsscoder 2012-04-27 14:18:22

+0

對不起,這是一個不同的問題。我做了一個快速Google,但我認爲我無法幫助你。 – Mischa 2012-04-27 14:46:46

+0

我對Rails有__little luck__,但是我很感興趣,我也想在Ubuntu 11.04(相同版本的Rails)中運行它。但是,當我創建一個新的應用程序,我得到這個:'...運行軟件包安裝 /home/developer/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/custom_require .rb:36:在'require'中:無法加載這樣的文件 - openssl(LoadError) ... 從https://rubygems.org/獲取gem元數據。遺憾的是,發生了一個致命錯誤。請將此錯誤報告給Bundler問題跟蹤程序...' – gsscoder 2012-04-27 16:00:37