2012-11-06 84 views
1

所以,我已經做了很多的Rails編程的過去,現在我來到了一個地步,我只是想用紅寶石RVM和捆紮機和其他一些寶石。但之後我把所有設置我需要的,我想在這個項目中使用的寶石,並得到了以下LoadError:使用RVM,RubyGems的和捆綁

.rvm/../custom_require.rb:36:in `require': cannot load such file -- upnp/ssdp (LoadError) 

我使用Ruby 1.9.3

我已經得到了以下文件:

upnp 
- Gemfile 
- upnp.rb 

比戈M文件:

# Gemfile 

source "http://rubygems.org" 

gem "upnp", git: "https://github.com/turboladen/upnp.git" 

而該項目主文件:

# upnp.rb 
require 'rubygems' 
require 'upnp/ssdp' 

# Search for all devices (do an M-SEARCH with the ST header set to 'ssdp:all') 
all_devices = UPnP::SSDP.search 

puts all_devices 

現在,設置了一個寶石RVM,並把每樣東西后,當我運行:

ruby upnp.rb 

我得到這個上述錯誤..

我已經簽出這個寶石的GitHub的頁面,它有一個lib FO lder連續與upnp/ssdp.rb

所以應該不錯吧?

我真的不知道如何調試這樣的事情!

有人可以照亮這個問題嗎?

謝謝!

回答

2

把它包在一個調用bundle exec。下面是用Ruby 1.93p194

$ bundle exec ruby upnp.rb 
D, [2012-11-06 11:05:06 #48555] DEBUG -- : Sent datagram search: 
D, [2012-11-06 11:05:06 #48555] DEBUG -- : M-SEARCH * HTTP/1.1 

我找不到參考,但RVM/Ruby有發現,有「安裝混帳」 RubyGems的問題。谷歌搜索可能會提出正式答案。

+0

哇,太棒了,這似乎工作!我確實知道bundle exec,但從來沒有機會找出我應該使用它的時間。猜猜現在是瞭解更多關於該代碼的好時機。謝謝! –

+0

我認爲使用最新版本的RVM(頭)可以讓你不需要使用bundle exec。 – sunnyrjuneja

+0

可能。我只在RVM 1.16.11。 –