2009-01-12 62 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"