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

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

缺少这些必需的gem: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以安装缺少的gem。

我在供应商目录中解压缩了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 

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

问题出在共享主机上。 在那里,您通常只为您拥有所有用户和本地目录中的常用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'