2009-10-07 3 views
0

Nous avons deux serveurs avec le même RPM brassée maison de ruby ​​installé. Un serveur unique, le chemin de recherche est différent et l'extrait suivant échoue.Ruby chemin de recherche différent sur deux boîtes avec la même construction de rubis?

#!/usr/bin/env ruby 
require 'openssl' 
require 'digest/md5' 
puts OpenSSL::Digest::MD5.new 

sortie serveur brisé:

/tmp/test.rb 
/tmp/test.rb:6: uninitialized constant OpenSSL::Digest::MD5 (NameError) 

Bonne sortie du serveur:

/tmp/test.rb 
d41d8cd98f00b204e9800998ecf8427e 

serveur brisé avec des drapeaux de ligne de commande peut être fait pour travailler:

ruby -I /usr/lib/ruby/1.8 /tmp/test.rb 
d41d8cd98f00b204e9800998ecf8427e 

Les deux sont CentOS 4.4 x86_64, rubis 1.8.6 p369. Nous avons construit notre propre RPM basé sur le fichier de spécifications Fedora 11 RPM. Cela fonctionne trouver sur 913 autres boîtes. Aide?

Répondre

0

Nous ne pouvons pas vraiment faire grand-chose si vous ne nous en dites pas plus sur votre installation. Vous avez apparemment un chemin de recherche de bibliothèque cassé, mais vous le saviez déjà. Quelle est la valeur de la variable $: sur chacune des machines?

Editer: Oh, une conjecture: puisque vous utilisez env, l'exécutable ruby ​​invoqué est le premier dans votre PATH. Êtes-vous sûr il n'y a pas un autre ruby ​​installé dans/usr/local, par exemple, sur cette machine particulière?

Questions connexes