2009-01-12 107 views
3

我想通过共享Linux服务器上的ruby访问MySQL。我想我需要使用DBI模块,但我似乎无法访问它。我安装了它,如下所示:使用Ruby Gem DBI

gem install -r dbi 

它不能在正常位置安装它,因为我是一个共享的服务器上,并没有权限:

WARNING: Installing to ~/.gem since /usr/lib/ruby/gems/1.8 and 
      /usr/bin aren't both writable. 
WARNING: You don't have ~/.gem/ruby/1.8/bin in your PATH, 
      gem executables will not run. 

这似乎给尽管安装成功。

但是,现在当我尝试要求它时,我只是得到一个错误。所以我的代码只是:

require 'dbi' 

,这提供了以下错误:

dbi_test.rb:1:in `require': no such file to load -- dbi (LoadError) 
    from dbi_test.rb:1 

我已经尝试设置LOAD_PATH环境变量设置dbi.rb是目录,但没有有什么区别。

回答

3

我找到了答案。我需要在命令行上指定LOAD_PATH:

ruby -I$HOME/.gem/ruby/1.8/gems/dbi-0.4.1/lib/ dbi_test.r 

我已经设置LOAD_PATH作为一个标准的UNIX环境变量。 D'哦!

+2

+1。如果我对每个路径分辨率问题都有一个重要的观点, – pilcrow 2010-02-17 20:54:16

12

如果它作为一个宝石安装,你也可以要求RubyGems的前解决问题,而无需设置LOAD_PATH

require 'rubygems' 
require "dbi"