我们有两台服务器安装了相同的自制 Ruby RPM。一台一台服务器,搜索路径不同,以下代码段失败。
#!/usr/bin/env ruby
require 'openssl'
require 'digest/md5'
puts OpenSSL::Digest::MD5.new
损坏的服务器输出:
/tmp/test.rb
/tmp/test.rb:6: uninitialized constant OpenSSL::Digest::MD5 (NameError)
良好的服务器输出:
/tmp/test.rb
d41d8cd98f00b204e9800998ecf8427e
可以使带有命令行标志的损坏的服务器正常工作:
ruby -I /usr/lib/ruby/1.8 /tmp/test.rb
d41d8cd98f00b204e9800998ecf8427e
两者都是 CentOS 4.4 x86_64,ruby 1.8.6 p369。我们基于 Fedora 11 RPM 规范文件构建了自己的 RPM。它适用于其他 913 个盒子。帮助?