0

有几个人提出了与此相当相似的问题,所以我很抱歉重复“老问题”,但我完全陷入了困境。我会尽量说明问题是什么:

我有一个可以在本地运行的 Rails 应用程序。
我正在使用 capistrano 尝试将其部署在 ubuntu EC2 实例上。

在解决了以前的问题之后,我在运行
“cap deploy”命令时遇到了这个问题(我删除了 ec2 服务器名称):

    executing "cd -- /u/apps/tweet_app/releases/20130628110910 && bundle exec rake        
    RAILS_ENV=production RAILS_GROUPS=assets assets:precompile"
    servers: ["ec2 server name"]
    [ec2 server name] executing command
    [out :: ec2 server name] rake aborted!
    [out :: ec2 server name]         
    /u/apps/twitter_app/releases/20130628110910/config/routes.rb:8: syntax error, unexpected ':', expecting kEND
     ** [out :: ec2 server name] resources :sessions, only: [:new, :create, :destroy]
     ** [out :: ec2 server name] ^
     ** [out :: ec2 server name]         
     /u/apps/tweet_app/releases/20130628110910/config/routes.rb:9: syntax error, unexpected ':', expecting kEND
     ** [out :: ec2 server name] resources :annotations, only: [:create]
     ** [out :: ec2 server name] ^
     ** [ec2 server name]     
     etc...

以前,我的 config/initializers/session_store.rb 中有一个错误,这与 ruby​​ 1.8.7 和 1.9.2 之间的差异问题有关。我能够通过更改哈希的语法来解决它。为了找到问题的根源,我尝试在 ubuntu 实例上安装 ruby​​ 1.9.2(我也尝试过 1.9.3)。1.9.2 显然正在运行-

    ubuntu@ip-address:~$ ruby --version
    ruby 1.9.2p180 (2011-02-18 revision 30909) [x86_64-linux]

但是错误似乎仍然没有解决。感觉它仍在尝试使用 1.8.7,这会导致语法错误。我尝试过的其他事情包括
1. 使用 rvm 在 ubuntu 上安装 ruby​​ 1.9.2(在标准安装无处可去之后)
2. 使用 .rvmrc 文件指定应用程序应使用 1.9.2

有什么想法/建议吗?

4

0 回答 0