0

我在部署一个简单的 Rails 应用程序时遇到了许多问题,当我看到 Rails 欢迎屏幕时,我认为一切都很好……然后当我选择默认 Rails 页面的“关于您的应用程序环境”链接时,我看到了很多错误。错误如下,当我转到特定 URL 时也会出现。

我认为问题是我的 ~/.bashrc 文件明确要求

    export GEM_PATH=$GEM_HOME:/usr/lib64/ruby/gems/1.8

当错误引用 gems/1.9.3

我只是不确定这是否是问题或如何改变这些东西以使它们彼此一致。用 1.9.3 替换 1.8 并没有解决问题(尽管我无法弄清楚我可能必须运行哪些捆绑或更新命令才能使其工作)。

我很感激你能提供的任何方向或建议......我是 bluehost rails 部署的新手,我确定我在这里遗漏了一些东西......

谢谢。

错误消息:在任何源中都找不到 i18n-0.6.1 (Bundler::GemNotFound) 异常类:PhusionPassenger::UnknownError

其次是:

Backtrace:
#   File    Line    Location
0   /usr/lib64/ruby/gems/1.9.3/gems/bundler-1.0.21/lib/bundler/spec_set.rb  88  in `block in materialize'
1   /usr/lib64/ruby/gems/1.9.3/gems/bundler-1.0.21/lib/bundler/spec_set.rb  82  in `map!'
2   /usr/lib64/ruby/gems/1.9.3/gems/bundler-1.0.21/lib/bundler/spec_set.rb  82  in `materialize'
3   /usr/lib64/ruby/gems/1.9.3/gems/bundler-1.0.21/lib/bundler/definition.rb    90  in `specs'
4   /usr/lib64/ruby/gems/1.9.3/gems/bundler-1.0.21/lib/bundler/definition.rb    135     in `specs_for'
5   /usr/lib64/ruby/gems/1.9.3/gems/bundler-1.0.21/lib/bundler/definition.rb    124     in `requested_specs'
6   /usr/lib64/ruby/gems/1.9.3/gems/bundler-1.0.21/lib/bundler/environment.rb   23  in `requested_specs'
7   /usr/lib64/ruby/gems/1.9.3/gems/bundler-1.0.21/lib/bundler/runtime.rb   11  in `setup'
8   /usr/lib64/ruby/gems/1.9.3/gems/bundler-1.0.21/lib/bundler.rb   110     in `setup'
9   /etc/httpd/modules/passenger/lib/phusion_passenger/utils.rb     326     in `prepare_app_process'
10  /etc/httpd/modules/passenger/lib/phusion_passenger/rack/application_spawner.rb  156     in `block in initialize_server'
11  /etc/httpd/modules/passenger/lib/phusion_passenger/utils.rb     572     in `report_app_init_status'
12  /etc/httpd/modules/passenger/lib/phusion_passenger/rack/application_spawner.rb  154     in `initialize_server'
13  /etc/httpd/modules/passenger/lib/phusion_passenger/abstract_server.rb   204     in `start_synchronously'
14  /etc/httpd/modules/passenger/lib/phusion_passenger/abstract_server.rb   180     in `start'
15  /etc/httpd/modules/passenger/lib/phusion_passenger/rack/application_spawner.rb  129     in `start'
16  /etc/httpd/modules/passenger/lib/phusion_passenger/spawn_manager.rb     253     in `block (2 levels) in spawn_rack_application'
17  /etc/httpd/modules/passenger/lib/phusion_passenger/abstract_server_collection.rb    132     in `lookup_or_add'
18  /etc/httpd/modules/passenger/lib/phusion_passenger/spawn_manager.rb     246     in `block in spawn_rack_application'
19  /etc/httpd/modules/passenger/lib/phusion_passenger/abstract_server_collection.rb    82  in `block in synchronize'
20      prelude>    10:in `synchronize'
21  /etc/httpd/modules/passenger/lib/phusion_passenger/abstract_server_collection.rb    79  in `synchronize'
22  /etc/httpd/modules/passenger/lib/phusion_passenger/spawn_manager.rb     244     in `spawn_rack_application'
23  /etc/httpd/modules/passenger/lib/phusion_passenger/spawn_manager.rb     137     in `spawn_application'
24  /etc/httpd/modules/passenger/lib/phusion_passenger/spawn_manager.rb     275     in `handle_spawn_application'
25  /etc/httpd/modules/passenger/lib/phusion_passenger/abstract_server.rb   357     in `server_main_loop'
26  /etc/httpd/modules/passenger/lib/phusion_passenger/abstract_server.rb   206     in `start_synchronously'
27  /etc/httpd/modules/passenger/helper-scripts/passenger-spawn-server  99  in `'
4

1 回答 1

0

在这里查看我的答案

请注意,在安装 RVM 时,您会看到它会自动修改 .bash_profile 以使用正确的路径,该路径将是 in /home/<user>/.rvm/...,而不是 in /user/lib64

编辑:没关系我的回答。尽管有可能让 Rails 3.x 与当前安装的 Ruby 1.8 一起运行(请参阅此 Stackoverflow 问题),但您将无法使用 Bluehost 共享主机运行 Ruby 1.9.x。您唯一的选择(目前)是 VPS 托管。

原因是Passenger Phusion 与安装在/usr/lib 中的Ruby 版本相关联,如果没有root 访问权限,您无法更改该版本。即使您可以使用 RVM 安装任何版本的 Ruby,您也不会让Passenger 与它对话,因此您的 Rails 项目不会使用它的 gem。

于 2012-10-16T19:28:37.457 回答