2009-01-12 12 views
3

Je veux accéder à MySQL via ruby ​​sur un serveur Linux partagé. Je suppose que je dois utiliser le module DBI, mais je n'arrive pas à y accéder. Je l'ai installé comme suit:Utilisation de Ruby Gem DBI

gem install -r dbi 

Il ne pouvait pas l'installer dans l'emplacement normal, puisque je suis sur un serveur partagé et ne pas la permission:

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. 

Il ne semble installer avec succès cependant.

Cependant, maintenant quand j'essaye de l'exiger, je reçois juste une erreur. Donc, mon code est juste:

require 'dbi' 

et cela donne l'erreur suivante:

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

J'ai essayé régler la variable d'environnement LOAD_PATH dans le répertoire où dbi.rb est, mais cela n'a pas faire une différence.

Répondre

3

J'ai trouvé la réponse. Je avais besoin de préciser LOAD_PATH sur la ligne de commande:

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

j'avais été mise en LOAD_PATH comme variable d'environnement UNIX standard. D'oh!

+2

+1. Si j'avais un point de rep pour tous les problèmes de résolution de chemin que j'ai tous eu ... – pilcrow

12

Si son installation comme un bijou, vous pouvez également demander rubygems avant de résoudre le problème sans avoir besoin de régler la load_path

require 'rubygems' 
require "dbi" 
Questions connexes