Apache с Ruby - проблема с драгоценными камнями - PullRequest
3 голосов
/ 23 мая 2011

У меня это нормально работает на Ubuntu, но я не могу заставить его работать на Mac OS-X 10.6.7.

Мой конфигурационный файл Apache отредактирован так, что он запускает любые .rb файлы. В скрипте ruby, который я использую, есть require 'rubygems'.

В Ubuntu я добавил SetEnv RUBYOPT rubygems в свой файл конфигурации Apache, поэтому мне даже не нужно использовать require 'rubygems'. На моем Mac, даже когда мне требуются рубины, он не может загрузить драгоценные камни.

В IRB он прекрасно загружает самоцветы, и я могу запустить скрипт из командной строки. ОК.

Мой скрипт находится в / Library / WebServer / Documents

В журнале ошибок Apache написано -

[Mon May 23 18:56:40 2011] [error] [client ::1] /Library/Ruby/Gems/1.8/gems/dbi-0.4.5/lib/dbi/utils/date.rb:57: undefined method `deprecate' for DBI::Date:Class (NoMethodError)
[Mon May 23 18:56:40 2011] [error] [client ::1] \tfrom /Library/Ruby/Site/1.8/rubygems/custom_require.rb:36:in `gem_original_require'
[Mon May 23 18:56:40 2011] [error] [client ::1] \tfrom /Library/Ruby/Site/1.8/rubygems/custom_require.rb:36:in `require'
[Mon May 23 18:56:40 2011] [error] [client ::1] \tfrom /Library/Ruby/Gems/1.8/gems/dbi-0.4.5/lib/dbi/utils.rb:56
[Mon May 23 18:56:40 2011] [error] [client ::1] \tfrom /Library/Ruby/Site/1.8/rubygems/custom_require.rb:36:in `gem_original_require'
[Mon May 23 18:56:40 2011] [error] [client ::1] \tfrom /Library/Ruby/Site/1.8/rubygems/custom_require.rb:36:in `require'
[Mon May 23 18:56:40 2011] [error] [client ::1] \tfrom /Library/Ruby/Gems/1.8/gems/dbi-0.4.5/lib/dbi.rb:50
[Mon May 23 18:56:40 2011] [error] [client ::1] \tfrom /Library/Ruby/Site/1.8/rubygems/custom_require.rb:58:in `gem_original_require'
[Mon May 23 18:56:40 2011] [error] [client ::1] \tfrom /Library/Ruby/Site/1.8/rubygems/custom_require.rb:58:in `require'
[Mon May 23 18:56:40 2011] [error] [client ::1] \tfrom /Library/WebServer/Documents/ruby_file.rb:6

Я думал, что добавление require 'rubygems' означает, что пути к драгоценным камням будут загружены. Кто-нибудь знает, почему Apache не может загрузить драгоценные камни?

1 Ответ

0 голосов
/ 24 мая 2011

Я решил это, не вставляя require 'dbi' в мой скрипт.Использование require 'sqlite3' достаточно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...