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

Rails - AWS (Elastic Beanstalk) deployment, Error Command 'git clone'

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

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

这是我的gem文件

中的代码
gem 'omnicontacts', git: "https://github.com/Diego81/omnicontacts.git"

我尝试过的其他东西...

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

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

我尝试过的一切仍然是同样的错误。我也用其他 gem 尝试过这个,但我收到了同样的错误。我还应该注意,这在我的本地机器上运行完美,这似乎是 Elastic Beanstalk 的问题。

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

sudo yum install git

这应该可以解决问题。

我更喜欢 this answer,它将 Git 添加到 .ebextensions。这样如果我有例如一个生产服务器和一个临时服务器,我不必分别通过 SSH 连接到这两个服务器,我可以只部署到每个服务器,Git 将自动安装。

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

我能够通过创建一个名为 .ebextensions/ruby.config 的文件来获得我需要的内容,其中包含以下内容:

packages:
  yum:
    git: []