1

ファイル「dbTest.rb」を実行する場合:

require 'mysql'
con = Mysql::new("192.168.10.70", "dbuser", "asd1234", "asd")
puts con.get_server_info

に :

ruby dbTest.rb

エラーが発生します:

dbTest.rb:1:in `require': no such file to load -- mysql (LoadError)

"gem list" を実行すると、mysql、mysql2、および dbd-mysql がすべて表示されます。私の間違いを指摘できますか?あなたの時間のために前もってThx。

乾杯 !

編集 :

私には不明な理由で、2 つの 1.8 バージョンがありますが、gem は適切な ruby​​ と通信しています。

cem@skynet:/usr/bin$ sudo update-alternatives --config ruby
[sudo] password for cem: 
There are 2 choices for the alternative ruby (providing /usr/bin/ruby).

  Selection    Path                Priority   Status
------------------------------------------------------------
* 0            /usr/bin/ruby1.8     50        auto mode
  1            /usr/bin/ruby1.8     50        manual mode
  2            /usr/bin/ruby1.9.1   10        manual mode

Press enter to keep the current choice[*], or type selection number: 
cem@skynet:/usr/bin$ sudo update-alternatives --config gem
There are 2 choices for the alternative gem (providing /usr/bin/gem).

  Selection    Path               Priority   Status
------------------------------------------------------------
* 0            /usr/bin/gem1.8     180       auto mode
  1            /usr/bin/gem1.8     180       manual mode
  2            /usr/bin/gem1.9.1   10        manual mode

Press enter to keep the current choice[*], or type selection number:
4

1 に答える 1

5

Ruby 1.8を使用しているので、require 'rubygems'必要だと思います:

require 'rubygems'
require 'mysql'
con = Mysql::new("192.168.10.70", "dbuser", "asd1234", "asd")
puts con.get_server_info

詳細を知りたい場合は、" How does require ruby​​gems help find ruby​​gem files? " の回答を確認してください。

于 2012-12-31T14:12:10.083 に答える