2012-12-31 155 views
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) 

當我執行「寶石列表「,我看到mysql,mysql2和dbd-mysql都在那裏。 你能指出我的錯誤嗎? Thx提前爲您的時間。

乾杯!

編輯:

對於未知給我的理由,我有兩個1.8版本,但創業板在說話的權利紅寶石:

[email protected]:/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: 
[email protected]:/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: 
+0

由於您使用的是舊版本的ruby,因此您可能需要檢查以查看mysql gem的版本是否適合您嘗試使用的ruby版本 – Egryan

回答

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 rubygems help find rubygem files?」的答案。

+0

我是ruby的新手,你也可以告訴我爲什麼? – Pumpkin

+0

添加了一個鏈接到答案和充分的解釋 –