Я пытаюсь выполнить свою программу CGI из WEBrick CGIhandler и постоянно терплю неудачу с ошибкой загрузки библиотек драгоценных камней. Кто-то видел следующее поведение раньше? Как я могу заставить свои сценарии CGI искать действительное местоположение драгоценного камня?
[Ситуация]
Когда я запускал сценарии CGI, для которых требуется библиотека mysql2, через сервер Webrick, я получил следующую ошибку:
ОШИБКА CGIHandler: /home/charles/code/svr/lib/cgitest.rb: /home/charles/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/custom_require. rb:36:in `require': невозможно загрузить такой файл -- mysql2/версия (LoadError)
Прокомментируйте это конкретное «требование» из cgitest.rb, чтобы этот скрипт работал, поэтому, похоже, просто не удалось загрузить эту библиотеку. Добавлено «помещает Gem.path» в сценарий, указывающее, что CGIHandler просматривает следующие каталоги, чтобы найти драгоценный камень;
["/home/charles/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/gems/1.9.1", "/.gem/ruby/1.9.1"]
в то время как фактические GEM:HOME и GEM:PATH следующие;
["/home/charles/.rvm/gems/ruby-1.9.3-p194", "/home/charles/.rvm/gems/ruby-1.9.3-p194@global"]
Я думаю, что мне не хватает чего-то очень простого, но я не мог их понять. Очень ценю, если кто-то приведет меня в правильном направлении. Мы приветствуем любой вклад.
[Среда]
Использование RVM для установки Ruby 1.9.3 на Ubuntu Server 12.4 с кучей драгоценных камней, включая библиотеку «mysql2». И скрипт может загружать «mysql2», когда я запускаю локально.
$какой рубин
/домашний/чарльз/.rvm/рубины/руби-1.9.3-p194/бин/рубин
$ирб
1.9.3-p194:001 > Gem.path
=> ["/home/charles/.rvm/gems/ruby-1.9.3-p194", "/home/charles/.rvm/gems/ruby-1.9.3-p194@global"]
1.9.3-p194:002 > требуется «mysql2»
=> правда