需要使用CGI和lighttpd的宝石

时间:2014-04-09 21:34:23

标签: ruby gem cgi lighttpd

我为CGI配置了lighttpd。除了要求使用Ruby的宝石外,事情基本上都在起作用。例如这个脚本

#!/usr/bin/env ruby

require 'cgi'
require 'rubygems'
require 'mysql2'

cgi = CGI.new

print "Content-Type: text/plain\n\n" 
print "Hello, world!"

给了我cannot load such file -- mysql2 (LoadError)。如果我删除require 'mysql2'它可以正常工作。我以root身份安装了mysql2,其他用户可以毫无问题地使用它。

奇怪的是,Gem.available? 'mysql2'在CGI脚本中是true,因此似乎以某种方式检测到了

1 个答案:

答案 0 :(得分:0)

我修好了,但我还不确定问题是什么。作为root,我做了

gem update --system
gem install --no-user-install mysql2

由于某种原因,权限最终错误,所以我不得不做

chmod -R o+rX /usr/local/share/gems1.9

然后一切都恢复了。此外,require 'rubygems'最终在CGI脚本中不再是必需的。

相关问题