1

我遵循了所有的指示就是结果

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

这样做时,我注意到 beanstalk ec2 服务器甚至没有安装 rails。我应该能够输入rails --version我假设并在我的计算机ruby --version上和服务器上看到的版本。所以我在我的新 beanstalk ec2 服务器上安装 RVM,带有和 rails(就像我过去所做的那样)。但总的来说,这一切似乎都违背了目的。它应该是有点自动的。安装rails 肯定听起来不对。它是否以另一种方式安装在服务器上?

关于如何获得对 ROR 工作的新 beanstalk 支持的任何建议?我究竟做错了什么?

4

1 回答 1

3

从您的乘客异常中的错误来看,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 安装成功时才可用。

于 2012-11-07T23:21:47.707 回答