2009-11-24 5 views
3

Sur mon OS système de développement X:Pourquoi yaml serait indisponible dans la production?

$ ruby --version 
ruby 1.8.6 (2007-03-13 patchlevel 0) [universal-darwin8.0] 

$ script/console 
Loading development environment (Rails 2.3.4) 
>> require 'yaml' 
=> [] 

sur CentOS 5.3 Système de production:

$ script/console production 
Loading production environment (Rails 2.3.4) 
/opt/ruby-enterprise-1.8.7-2009.10/lib/ruby/gems/1.8/gems/activerecord-2.3.4/lib/active_record/base.rb:1959:in `method_missing':NoMethodError: undefined method `define_index' for #<Class:0x2e6f7b0> 
>> require 'yaml' 
=> false 

Tout ce que je peux faire à ce sujet NoMethodError?

Pourquoi yaml serait indisponible. Cela ne fait-il pas partie des bibliothèques Ruby?

Répondre

13

faux retour signifie que le chargement a réussi ou a déjà été fait. S'il ne pouvait pas être chargé, il déclencherait une exception à la place.

1

Cela fait partie des librairies principales de Ruby, mais je ne suis pas sûr de ce qui est fourni avec Ruby Enterprise Edition. Vérifiez que yaml.rb est dans votre $ LOAD_PATH. Par exemple, essayez ceci dans irb:

$LOAD_PATH.collect { |path| File.join(path, 'yaml.rb') }.find { |path| File.exist?(path) } 

Sur OS X, il produira quelque chose comme:

=> "/opt/local/lib/ruby/1.8/yaml.rb" 
Questions connexes