【问题标题】:Deploying a Rails app on dreamhost issue在 Dreamhost 问题上部署 Rails 应用程序
【发布时间】:2023-04-07 00:41:01
【问题描述】:

所以我对这个不知所措。我的错误是:

缺少这些必需的 gem:jrails 您正在运行:ruby 1.8.7.72 位于 /usr/bin/ruby1.8 ruby​​gems 1.3.6 位于 /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 

任何人对我打开包装后为什么仍然缺少宝石有任何想法吗?

【问题讨论】:

  • 顺便说一句,您可以在编辑器中使用“代码示例”选项(带有零和一的图片)使堆栈跟踪看起来像样。
  • 感谢您的提示...我会在下一个问题中记住这一点 :)

标签: ruby-on-rails rubygems hosting dreamhost


【解决方案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'

【讨论】:

  • 不行,我得到了同样的错误信息。我从dreamhost 仔细检查了我的路径并全部检查。但是,它仍在我的 .gem 文件夹中查找,如果我浏览到该文件夹​​,那里什么也没有。它不应该在我的供应商文件夹中查找吗?
  • 所以这是一个组合。首先我必须按照这个论坛中的指示forums.site5.com/showthread.php?p=87539 然后我将我的 GEM_PATH 添加到我的 environment.rb 一切似乎都在工作。谢谢。
猜你喜欢
  • 1970-01-01
  • 2023-03-16
  • 2012-05-10
  • 1970-01-01
  • 1970-01-01
  • 2014-10-26
  • 2011-06-08
  • 2013-09-30
  • 1970-01-01
相关资源
最近更新 更多