使用capistrano在ubuntu ec2上部署rails app

时间:2013-06-28 11:33:44

标签: ruby-on-rails ubuntu amazon-ec2 syntax-error capistrano

有几个人对此提出了相当类似的问题,所以我很抱歉重复“旧问题”,但我完全陷入了困境。我会尽可能清楚地说明问题是什么:

我有一个适用于本地的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应与应用程序一起使用

有任何想法/建议吗?

0 个答案:

没有答案