Rails - AWS(Elastic Beanstalk)部署,错误命令'git clone'

时间:2017-01-15 19:57:54

标签: ruby-on-rails ruby amazon-web-services elastic-beanstalk omniauth

尝试在AWS Elastic Beanstalk中捆绑安装来自github的gem(作者没有在rubygems.org上更新gem,无论出于何种原因......)但是我收到以下错误:

Command failed on instance. R
         (TRUNCATED)...nd `git clone "https://github.com/Diego81/omnicontacts.git"

这是我的gemfile中的代码

gem 'omnicontacts', git: "https://github.com/Diego81/omnicontacts.git"

我尝试过的其他事情......

gem 'omnicontacts', git: "git://github.com/Diego81/omnicontacts.git"

gem 'omnicontacts', github: "Diego81/omnicontacts"

我尝试的所有内容仍然出现同样的错误。我也尝试过其他宝石,我也收到同样的错误。我还应该注意,这在我的本地机器上完美运行,它似乎与Elastic Beanstalk有关。

2 个答案:

答案 0 :(得分:2)

好的,我通过在我的EC2实例上安装git解决了这个问题。只需ssh到您的实例并运行以下内容:

sudo yum install git

这应该可以解决问题。

答案 1 :(得分:0)

我更喜欢this answer,它将Git添加到.ebextensions中。如果我有这样的话生产服务器和登台服务器,我不必将SSH分别单独安装到这两个服务器中,只需将它们部署到每个服务器上,即可自动安装Git。

ebextensions方法似乎也更持久。如果出于某种原因以后我需要启动一个新的服务器实例,则宁愿将配置另存为代码,而不必记住该配置是什么,然后手动实施该配置。

我可以通过创建一个包含以下内容的名为.ebextensions/ruby.config的文件来获得所需的信息:

packages:
  yum:
    git: []