2011-05-23 232 views
3

我有這個工作在Ubuntu上很好,但我無法讓它在Mac OS-X 10.6.7上工作。Apache與紅寶石 - 寶石問題

我的Apache配置文件被編輯,以便它運行任何.rb文件。我正在使用的紅寶石腳本有require 'rubygems'

在Ubuntu上,我在我的Apache配置文件中添加了SetEnv RUBYOPT rubygems,所以我甚至不需要使用require 'rubygems'。在我的Mac上,即使我需要rubygems,也無法加載寶石。

在IRB中,它加載的很好,我可以從命令行運行腳本OK。

我的腳本是在/庫/ Web服務器/文件

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無法加載寶石?

回答

0

我解決了這個問題,沒有把require 'dbi'放到我的腳本中。使用require 'sqlite3'就足夠了。