2011-05-18 86 views
1

我的Rails 3.0.3项目,我试图创建守护这个步骤:Rails的守护程序不启动

http://railscasts.com/episodes/129-custom-daemon

我已经安装了宝石守护

sudo gem install daemons

那我ve安装daemon_generator

rails plugin install https://github.com/dougal/daemon_generator.git

然后创建守护进程

rails generate daemon game_processor

当我尝试运行守护

./lib/daemons/game_processor_ctl start

我得到了错误:

./lib/daemons/game_processor_ctl:2:in `require': no such file to load -- rubygems (LoadError) from ./lib/daemons/game_processor_ctl:2

代码守护进程:

#!/usr/bin/env ruby

require 'rubygems'

require "daemons"

require 'yaml'

require 'erb'

gem 'activesupport', '>=3.0.0.beta4' require 'active_support'

# For some reason, ActiveSupport 3.0.0 doesn't load. # Load needed extension directly for now. require "active_support/core_ext/object" require "active_support/core_ext/hash"

options = YAML.load( ERB.new( 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?

+1

[披露:我是主持daemon_generator存储库的同一个人]。它看起来像红宝石所描述的守护程序脚本的第一行是不一样的,你一般使用。你是否安装了多个Ruby?使用RVM? – 2011-05-18 15:41:04

+0

我有2个可执行文件:ruby和ruby1.9,但我不使用ruby1.9。没有RVM。 – noff 2011-05-20 05:14:23

+0

我有这个完全相同的问题。虽然我使用RVM。真气! – twilson 2013-11-27 21:15:10

回答

0

您是在Windows还是* nix系统 - 在Windows上您应该使用ruby game_processor.rb start而不是_ctl。

同样当你在Rails中使用它时 - 那么我认为Rails服务器应该以所需的模式启动,以使Daemon正常运行。

+0

我在Mac上。 Rails服务器启动。当我尝试评论一些require-directive时,ctl-file死于错误“Unknown [some] symbol”。 – noff 2011-05-20 05:11:37