2011-04-15 230 views
0

所以我在這裏是一個虛擬,我使用的是一個寶石內的例子,the AMQP gem for ruby here on github,我已經拉回購,並且在一個例子文件(this one)中它有幾行像這樣:紅寶石文件路徑

$LOAD_PATH.unshift File.expand_path("../../../../lib", __FILE__) 

require "amqp" 

# [...] 

加載路徑指向this directory。所以我的問題主要是這樣的,當我安裝了gem時,我嘗試使用ruby甚至IRB運行文件。當引用這些lib文件時,它不會在gems示例目錄之外工作...爲什麼?即使當我require "amqp"

任何想法將不勝感激。


更新如果有兩個寶石或者是衝突的,例如圖書館,該庫鏈接,我想知道:

https://github.com/ruby-amqp/amqp 

,因爲我不想,我只是很困惑」知道這是否是一樣的寶石「AMQP」,我怎麼能知道的,.gemspecGemfile是我也不清楚,似乎有其他的東西,如:

custom_gem "amq-client", :git => "git://github.com/ruby-amqp/amq-client.git", :branch => "master" 
custom_gem "amq-protocol", :git => "git://github.com/ruby-amqp/amq-protocol.git", :branch => "master" 

而在.gemspec是具有:

s.add_dependency "amq-client" 

任何幫助,幫助我瞭解,這將是如此真棒!

回答

0

想必它包含了這一行,因此您可以直接從源代碼樹運行示例文件,而無需安裝gem。

如果你已經安裝好了gem,並且你已經加載了rubygems,那麼你應該只能說require "amqp",它會被適當的要求。

請注意,您需要加載RubyGems以便require "amqp"加載AMQP gem;您需要在源文件的開頭執行require "rubygems",或者使用-rubygems啓動Ruby,或者設置RUBYOPT環境變量export RUBYOPT=rubygems。有關更多信息,請參閱the RubyGems manual