【发布时间】:2011-08-28 03:50:04
【问题描述】:
我有 Rails 3.0.3 项目,我尝试通过以下步骤创建守护进程:
http://railscasts.com/episodes/129-custom-daemon
我已经安装了 gem 守护进程
sudo gem 安装守护进程
然后我已经安装了 daemon_generator
然后创建守护进程
rails 生成守护进程 game_processor
当我尝试运行守护进程时
./lib/daemons/game_processor_ctl start
我收到错误:
./lib/daemons/game_processor_ctl:2:in `require': no such file to load -- rubygems (LoadError) 来自 ./lib/daemons/game_processor_ctl:2
守护进程代码:
#!/usr/bin/env ruby
需要“红宝石”
需要“守护进程”
需要'yaml'
需要'erb'
gem 'activesupport', '>=3.0.0.beta4' 需要'active_support'
# 出于某种原因,ActiveSupport 3.0.0 无法加载。 # 现在直接加载需要的扩展。 需要“active_support/core_ext/object” 需要“active_support/core_ext/hash”
选项 = YAML.load( ERB.新( IO.read( File.dirname(FILE) + "/../../config/daemons.yml" )).result).with_indifferent_access
options[:dir_mode] = options[:dir_mode].to_sym
Daemons.run File.dirname(FILE) + "/game_processor.rb", options
那么,怎么了?为什么它在尝试要求 rubygems 时死了?
【问题讨论】:
-
[披露:我是托管 daemon_generator 存储库的同一个人]。看起来您的守护程序脚本的第一行描述的 ruby 与您通常使用的不一样。你安装了多个 Ruby 吗?使用 RVM?
-
我有 2 个可执行文件:ruby 和 ruby1.9,但我不使用 ruby1.9。没有 RVM。
-
我遇到了同样的问题。虽然我使用的是 RVM。真气!
标签: ruby-on-rails ruby-on-rails-3 daemon