ruby - Apache 与 Ruby - Gems 问题

标签 ruby apache macos

我在 Ubuntu 上运行良好,但无法在 Mac OS-X 10.6.7 上运行。

我的 Apache 配置文件已编辑,因此它可以运行任何 .rb 文件。我正在使用的 ruby​​ 脚本中有 require 'rubygems'

在 Ubuntu 上,我在我的 Apache 配置文件中添加了 SetEnv RUBYOPT ruby​​gems,所以我什至不需要使用 require 'rubygems'。在我的 Mac 上,即使我需要 ruby​​gems,它也无法加载 gem。

在 IRB 中,它可以很好地加载 gem,我可以从命令行运行脚本。

我的脚本在/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' 意味着将加载 gem 路径。任何人都知道为什么 Apache 无法加载 gem ?

最佳答案

我通过不在我的脚本中放置 require 'dbi' 解决了这个问题。使用 require 'sqlite3' 就足够了。

关于ruby - Apache 与 Ruby - Gems 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6101079/

相关文章:

ruby - 如何 bundle html 管道安装后消息中提到的 Filter gem 依赖项?

arrays - Ruby - 数组交集(有重复项)

python - 我应该将什么 Python 插件与 XAMPP 一起使用

linux - apachectl start 找不到 httpd 但它在那里?

c - 当为 stdout 打开非阻塞 I/O 时,操作系统也为 stdin 打开它是否正确?

ruby-on-rails - ruby 如何关闭 Mechanize 连接

Ruby:Dir.glob 不返回任何文件

javascript - 不太了解提供 gzip(压缩)JavaScript 和 CSS 文件

macos - 带有图像的 NSButton

javascript - 如何在 OS X 上安装 Javascript 运行时解释器?