启动 Ruby on Rails 应用程序时无法通过 AWS Elastic Beanstalk“恭喜”屏幕

Posted

技术标签:

【中文标题】启动 Ruby on Rails 应用程序时无法通过 AWS Elastic Beanstalk“恭喜”屏幕【英文标题】:can't get past AWS Elastic Beanstalk "Congratulations" screen when launching Ruby on Rails app 【发布时间】:2012-10-27 21:35:16 【问题描述】:

我关注了所有the directions 和this 是the result。

我正在我的应用程序根路径中创建 .rvmrc 文件,以及我的/config 文件夹as described here 中的setup_load_paths.rb 文件。我做了所有这些,然后我意识到我的电脑正在使用 ruby​​ 1.9.3p194。 EC 实例使用 1.9.3p286。所以我正在匹配它们并重新创建 .rvmrc 文件。

在执行此操作时,我注意到 beanstalk ec2 服务器甚至没有安装 rails。我应该能够输入rails --version 我假设并在我的计算机上看到我可以看到的版本,在服务器上使用ruby --version。所以我在我的新 beanstalk ec2 服务器上安装 RVM,带有和 rails (as I've done in the past)。但总的来说,这一切似乎都违背了目的。它应该是有点自动的。安装rails 肯定听起来不对。它是否以另一种方式安装在服务器上?

关于如何让新的 beanstalk 支持 ROR 工作有什么建议吗?我做错了什么?

【问题讨论】:

【参考方案1】:

从乘客异常中的错误来看,Bundler 似乎无法在您的远程源中找到 Ascii85 gem。您的远程源应列在您的 Gemfile 中,格式为:

source :rubygems

如果这不起作用,请尝试在表单中明确指定来源:

source 'http://rubygems.org'

请注意,您不应为部署中的 RVM/Passenger 集成做任何特殊的事情。事实上,如果任何平台细节发生变化,任何额外的专业集成实际上都可能导致 Elastic Beanstalk 出现问题。您应该使用标准 Rails 约定来构建您的应用程序。

rails -v 失败而言:Rails 是通过您的 Gemfile 引入的,它依赖于 bundle install 成功。您的乘客错误表明 Bundler 无法解决您对远程源的依赖关系,这可能意味着 Rails 也没有安装。换句话说,Rails 只有在 bundle 安装成功时才可用。

【讨论】:

以上是关于启动 Ruby on Rails 应用程序时无法通过 AWS Elastic Beanstalk“恭喜”屏幕的主要内容,如果未能解决你的问题,请参考以下文章

Ruby on Rails如何在Windows 10中随时启动cron

在 ruby​​ on rails 中启动服务器时出错

每当我使用 `npm start` 启动我的应用程序时,它会将我带到 Ruby on Rails 主屏幕,而不是我的 index.html 文件

Ruby on Rails - 存储应用程序配置

ruby on rails vue 和 html.slim

Ruby on Rails:无法加载rack / handler /