Rails - AWS(Elastic Beanstalk)部署,错误命令“git clone”
Posted
技术标签:
【中文标题】Rails - AWS(Elastic Beanstalk)部署,错误命令“git clone”【英文标题】:Rails - AWS (Elastic Beanstalk) deployment, Error Command 'git clone' 【发布时间】:2017-05-30 15:48:30 【问题描述】:尝试在 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 的问题。
【问题讨论】:
【参考方案1】:好的,我通过在我的 EC2 实例上安装 git 解决了这个问题。只需 ssh 进入您的实例并运行以下命令:
sudo yum install git
这应该可以解决问题。
【讨论】:
【参考方案2】:我更喜欢 this answer,它将 Git 添加到 .ebextensions
。这样,如果我有例如一个生产服务器和一个登台服务器,我不必分别 SSH 到两者,我可以部署到每个服务器,Git 会自动安装。
ebextensions
方法似乎也更耐用。如果将来出于某种原因需要启动一个新的服务器实例,我宁愿将配置保存为代码,而不是记住配置应该是什么,然后手动实现配置。
通过创建一个名为 .ebextensions/ruby.config
的文件,我能够获得所需的内容,其内容如下:
packages:
yum:
git: []
【讨论】:
以上是关于Rails - AWS(Elastic Beanstalk)部署,错误命令“git clone”的主要内容,如果未能解决你的问题,请参考以下文章
AWS Elastic Beanstalk Rails Bundler 失败
使用 AWS Elastic Beanstalk 部署 Rails ActionCable
创建 AWS Elastic Beanstalk Ruby/Rails 应用程序环境 [AWS 免费套餐] 时使用了哪些 AWS 资源/服务?
使用 MacOSX 将 Rails 应用程序推送到 AWS Elastic Beanstalk