2011-05-20 56 views
0

我正在按照配置指导安装resque。我遇到了一个(LoadError)。我使用的是RVM 1.9.2-p180,rails 3.0.6和POW。这可能是我的加载路径完全错误的问题。因此,这里是一些额外的信息:需要帮助在配备RVM的Ruby on Rails上配置Redis支持的库

master ~/projects/chaggregator $ which rails 
/Users/boris/.rvm/gems/ruby-1.9.2-p180/bin/rails 
master ~/projects/chaggregator $ which ruby 
/Users/boris/.rvm/rubies/ruby-1.9.2-p180/bin/ruby 
master ~/projects/chaggregator $ whereis ruby 
/usr/bin/ruby 
master ~/projects/chaggregator $ whereis rails 
/usr/bin/rails 

配置/ resque.yml

development: localhost:6379 
test: localhost:6379 
staging: 
fi: localhost:6379 
production: 

初始化/ resque.rb:

rails_root = ENV['RAILS_ROOT'] || File.dirname(__FILE__) + '/../..' 
rails_env = ENV['RAILS_ENV'] || 'development' 

resque_config = YAML.load_file(rails_root + '/config/resque.yml') 
Resque.redis = resque_config[rails_env] 

终端:

~ $ cd projects/MyApp/ 
master ~/projects/MyApp $ RAILS_ENV=production resque-web rails_root/config/initializers/resque.rb 
/Users/boris/.rvm/gems/ruby-1.9.2-p180/gems/resque-1.16.1/bin/resque-web:16:in `load': no such file to load -- rails_root/config/initializers/resque.rb (LoadError) 
    from /Users/boris/.rvm/gems/ruby-1.9.2-p180/gems/resque-1.16.1/bin/resque-web:16:in `block in <top (required)>' 
    from /Users/boris/.rvm/gems/ruby-1.9.2-p180/gems/vegas-0.1.8/lib/vegas/runner.rb:54:in `call' 
    from /Users/boris/.rvm/gems/ruby-1.9.2-p180/gems/vegas-0.1.8/lib/vegas/runner.rb:54:in `initialize' 
    from /Users/boris/.rvm/gems/ruby-1.9.2-p180/gems/resque-1.16.1/bin/resque-web:13:in `new' 
    from /Users/boris/.rvm/gems/ruby-1.9.2-p180/gems/resque-1.16.1/bin/resque-web:13:in `<top (required)>' 
    from /Users/boris/.rvm/gems/ruby-1.9.2-p180/bin/resque-web:19:in `load' 
    from /Users/boris/.rvm/gems/ruby-1.9.2-p180/bin/resque-web:19:in `<main>' 

Redis-服务器(我在连接一个额外的客户端时我打本地主机:6379。

[33324] 20 May 11:02:08 - 1 clients connected (0 slaves), 932400 bytes in use 
[33324] 20 May 11:02:12 - Accepted 127.0.0.1:53028 
[33324] 20 May 11:02:13 - DB 0: 7 keys (0 volatile) in 8 slots HT. 
[33324] 20 May 11:02:13 - 2 clients connected (0 slaves), 942976 bytes in use 
[33324] 20 May 11:02:18 - DB 0: 7 keys (0 volatile) in 8 slots HT. 

回答

2

不能在命令行中使用RAILS_ROOT:

master ~/projects/MyApp $ RAILS_ENV=production resque-web rails_root/config/initializers/resque.rb 

尝试:

RAILS_ENV=production resque-web config/initializers/resque.rb 
+0

主〜/项目/ MyApp的$ RAILS_ENV =生产resque-web配置/初始化/ resque.rb config/initializers/resque.rb:4:in <':未初始化的常量Object :: YAML(NameError) – 2011-05-20 18:11:51

+0

在resque.rb中添加** require'yaml'** 。 – Gazler 2011-05-20 18:12:57