在dreamhost问题上部署Rails应用程序

时间:2010-07-09 16:33:27

标签: ruby-on-rails rubygems hosting dreamhost

所以我对这个感到很茫然。我的错误是:

缺少这些必需的宝石:jrails你正在运行:ruby 1.8.7.72 at /usr/bin/ruby1.8 ruby​​gems 1.3.6 at /home/ryann/.gem/ruby/1.8,/ usr / lib / ruby /gems/1.8运行rake gems:install安装缺少的宝石。

我在我的供应商目录中解压缩了jrails并冻结了我的本地rails环境。在我的本地机器上一切正常。

我在environment.rb文件中使用了config.gem'jrails'。

我的踪迹是(抱歉这个烂摊子):

0 /home/ryann/intercomhq.com/releases/20100709162648/vendor/rails/railties/lib/initializer.rb 336 in `abort'
1 /home/ryann/intercomhq.com/releases/20100709162648/vendor/rails/railties/lib/initializer.rb 336 in `check_gem_dependencies'
2 /home/ryann/intercomhq.com/releases/20100709162648/vendor/rails/railties/lib/initializer.rb 170 in `process'
3 /home/ryann/intercomhq.com/releases/20100709162648/vendor/rails/railties/lib/initializer.rb 113 in `send'
4 /home/ryann/intercomhq.com/releases/20100709162648/vendor/rails/railties/lib/initializer.rb 113 in `run'
5 /home/ryann/intercomhq.com/releases/20100709162648/config/environment.rb 20 
6 /usr/lib/ruby/1.8/rubygems/custom_require.rb 31 in `gem_original_require'
7 /usr/lib/ruby/1.8/rubygems/custom_require.rb 31 in `require'
8 /dh/passenger/lib/phusion_passenger/railz/application_spawner.rb 299 in `preload_application'
9 /dh/passenger/lib/phusion_passenger/railz/application_spawner.rb 248 in `initialize_server'
10 /dh/passenger/lib/phusion_passenger/utils.rb 255 in `report_app_init_status'
11 /dh/passenger/lib/phusion_passenger/railz/application_spawner.rb 233 in `initialize_server'
12 /dh/passenger/lib/phusion_passenger/abstract_server.rb 194 in `start_synchronously'
13 /dh/passenger/lib/phusion_passenger/abstract_server.rb 163 in `start'
14 /dh/passenger/lib/phusion_passenger/railz/application_spawner.rb 209 in `start'
15 /dh/passenger/lib/phusion_passenger/spawn_manager.rb 262 in `spawn_rails_application'
16 /dh/passenger/lib/phusion_passenger/abstract_server_collection.rb 126 in `lookup_or_add'
17 /dh/passenger/lib/phusion_passenger/spawn_manager.rb 256 in `spawn_rails_application'
18 /dh/passenger/lib/phusion_passenger/abstract_server_collection.rb 80 in `synchronize'
19 /dh/passenger/lib/phusion_passenger/abstract_server_collection.rb 79 in `synchronize'
20 /dh/passenger/lib/phusion_passenger/spawn_manager.rb 255 in `spawn_rails_application'
21 /dh/passenger/lib/phusion_passenger/spawn_manager.rb 154 in `spawn_application'
22 /dh/passenger/lib/phusion_passenger/spawn_manager.rb 287 in `handle_spawn_application'
23 /dh/passenger/lib/phusion_passenger/abstract_server.rb 352 in `__send__'
24 /dh/passenger/lib/phusion_passenger/abstract_server.rb 352 in `main_loop'
25 /dh/passenger/lib/phusion_passenger/abstract_server.rb 196 in `start_synchronously'
26 /dh/passenger/bin/passenger-spawn-server 61 

任何人都知道为什么我在打开包装后仍然错过了一个宝石?

1 个答案:

答案 0 :(得分:1)

问题在于共享托管。在那里,您通常只为您拥有所有用户和本地目录中的公共gems存储库。可以通过在config / preinitializer.rb或config / environment.rb中指定正确的路径来解决此问题

ENV['GEM_PATH'] = '/home/[username]/ruby/gems:/usr/lib/ruby/gems/1.8'
Gem.clear_paths

这是我托管的路径结构,您可能需要为您更新它。

修改
检查了我的来源,您可能还需要在这些行之前添加:

require 'rubygems'
require 'rubygems/gem_runner'