簡體   English   中英

Ruby版本的Rails和activesupport-3.2.12的困難

[英]Difficulties with Ruby version for Rails and activesupport-3.2.12

我有一個rails應用程序,它可以在我的測試環境中構建。

ruby -v  => 1.9.3p194    
rails -v => 3.2.12    
gem -v   => 1.8.23

在我希望部署到的服務器上,輸出如下:

ruby -v  => 1.9.3p0
rails -v => 3.2.12
gem -v   => 1.8.15

我已經開始全新安裝服務器,但我無法獲得ruby和gem的服務器版本。

另外,當我在服務器上運行rails時(只是為了測試),這是失敗的輸出:

rails s
=> Booting WEBrick
=> Rails 3.2.12 application starting in development on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
Exiting
/var/lib/gems/1.8/gems/activesupport-3.2.12/lib/active_support/dependencies.rb:245:in `load': /var/www/New/confed ':', expecting kEND (SyntaxError)
  match '/about',   to: 'static_pages#about'
                       ^
/var/www/New/config/routes.rb:6: syntax error, unexpected ':', expecting kEND
  match '/cv',          to: 'static_pages#cv'
                           ^
        from /var/lib/gems/1.8/gems/activesupport-3.2.12/lib/active_support/dependencies.rb:245:in `load'
        from /var/lib/gems/1.8/gems/activesupport-3.2.12/lib/active_support/dependencies.rb:236:in `load_dependency'
        from /var/lib/gems/1.8/gems/activesupport-3.2.12/lib/active_support/dependencies.rb:245:in `load'
        from /var/lib/gems/1.8/gems/railties-3.2.12/lib/rails/application/routes_reloader.rb:40:in `load_paths'
        from /var/lib/gems/1.8/gems/railties-3.2.12/lib/rails/application/routes_reloader.rb:40:in `each'
        from /var/lib/gems/1.8/gems/railties-3.2.12/lib/rails/application/routes_reloader.rb:40:in `load_paths'
        from /var/lib/gems/1.8/gems/railties-3.2.12/lib/rails/application/routes_reloader.rb:16:in `reload!'
        from /var/lib/gems/1.8/gems/railties-3.2.12/lib/rails/application/routes_reloader.rb:26:in `updater'
        from /var/lib/gems/1.8/gems/activesupport-3.2.12/lib/active_support/file_update_checker.rb:78:in `call'
        from /var/lib/gems/1.8/gems/activesupport-3.2.12/lib/active_support/file_update_checker.rb:78:in `execute'
        from /var/lib/gems/1.8/gems/railties-3.2.12/lib/rails/application/routes_reloader.rb:27:in `updater'
        from /var/lib/gems/1.8/gems/railties-3.2.12/lib/rails/application/routes_reloader.rb:7:in `execute_if_updated'
        from /var/lib/gems/1.8/gems/railties-3.2.12/lib/rails/application/finisher.rb:66
        from /var/lib/gems/1.8/gems/railties-3.2.12/lib/rails/initializable.rb:30:in `instance_exec'
        from /var/lib/gems/1.8/gems/railties-3.2.12/lib/rails/initializable.rb:30:in `run'
        from /var/lib/gems/1.8/gems/railties-3.2.12/lib/rails/initializable.rb:55:in `run_initializers'
        from /var/lib/gems/1.8/gems/railties-3.2.12/lib/rails/initializable.rb:54:in `each'
        from /var/lib/gems/1.8/gems/railties-3.2.12/lib/rails/initializable.rb:54:in `run_initializers'
        from /var/lib/gems/1.8/gems/railties-3.2.12/lib/rails/application.rb:136:in `initialize!'
        from /var/lib/gems/1.8/gems/railties-3.2.12/lib/rails/railtie/configurable.rb:30:in `send'
        from /var/lib/gems/1.8/gems/railties-3.2.12/lib/rails/railtie/configurable.rb:30:in `method_missing'
        from /var/www/New/config/environment.rb:5
        from /var/www/New/config.ru:3:in `require'
        from /var/www/New/config.ru:3
        from /var/lib/gems/1.8/gems/rack-1.4.5/lib/rack/builder.rb:51:in `instance_eval'
        from /var/lib/gems/1.8/gems/rack-1.4.5/lib/rack/builder.rb:51:in `initialize'
        from /var/www/New/config.ru:0:in `new'
        from /var/www/New/config.ru:0

我查看了我的測試系統而沒有/var/lib/gems/1.8我只有/var/lib/gems/1.9.1

從堆棧跟蹤中,它實際上看起來像是在運行Ruby 1.8,它不支持簡化的哈希語法symbol: value而1.8只有:symbol => value

您可以使用rvmrbenv來管理多個ruby版本。 在使用Rails時, rbenv imo是兩者中最好的。


回答Ryan關於為什么我認為rbenv > rvm基於個人感受的問題。 我發現rbenv易於使用,易於理解並概念化它是如何工作的,而且我沒有遇到過它讓我失望的情況。 此外,源代碼非常易讀,這讓我很容易進行配置。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM