Различаются ли пути поиска в Ruby на двух полях с одинаковой сборкой ruby? - PullRequest
0 голосов
/ 08 октября 2009

У нас есть два сервера с одним и тем же самодельным RPM установленного ruby. Один сервер, путь поиска другой, и он не может выполнить следующий фрагмент.

#!/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. Мы создали наш собственный RPM на основе спецификаций Fedora 11 RPM. Работает найти на 913 других ящиках. Помогите?

1 Ответ

0 голосов
/ 08 октября 2009

Мы действительно мало что можем сделать, если вы не расскажете нам больше о своей установке. Похоже, у вас неверный путь поиска в библиотеке, но вы уже это знали. Каково значение переменной $: на каждой из машин?

Редактировать: О, дикое предположение: поскольку вы используете env, вызываемый исполняемый файл ruby ​​является первым в вашей переменной PATH. Вы уверены , что в / usr / local не установлен какой-либо другой ruby, например, на этой конкретной машине?

...