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