1

我正在尝试在 AWS 上部署一个大礼包应用程序。设置 elastic-beanstalk 并添加到 my_project/.ebextensions/ 这个 .config 文件

packages:
  yum:
    git-core: []
container_commands:
  bundle:
    command: "gem install bundle"
  assets:
    command: "bundle exec rake assets:precompile"
  db:
    command: "bundle exec rake db:migrate"
    leader_only: true

我使用 git aws.push 部署我的应用程序,只是收到此错误消息:

在任何源中都找不到 rake-10.1.0 (Bundler::GemNotFound)

使用 bundle show rake 仔细检查我的宝石集给了我:

... /gems/rake-10.1.0

在查看来自 AWS 的日志文件时,我发现了这个错误:

sh: git: command not found Git error: command `git clone ' https://github.com/spree/spree.git '

我究竟做错了什么?

4

1 回答 1

7

您需要确保在服务器上安装了 git。

尝试创建一个名为:

.ebextensions/YOUR_APPLICATION_NAME.config

其中包含

packages:
  yum:
    git: []

这将使用 yum 安装 git 作为部署的一部分。

另一种选择是从 gem 中使用 spree,而不是从 git 中获取它。

有关更多信息,请查看AWS 博客上关于将 Ruby 应用程序部署到 Elastic Beanstalk的这篇文章。

于 2013-08-14T16:55:25.327 回答