2012-10-01 58 views
0

一個簡單的Ruby代碼Ruby是無法找到的寶石或 「規定」 文件

require 'rest-client' 
server = "http://localhost:3000" 
response = RestClient.get(server + "/posts.json") 

它拋出

/usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require': cannot load such file -- rest-client (LoadError) 
    from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require' 
    from /home/alex/app1.rb:41:in `<main>' 
[Finished in 0.1s with exit code 1] 

rest-client gem安裝一個例外。而且我使用Ruby 1.9.3而不是1.9.1.甚至更​​多,我的機器上沒有安裝紅寶石1.9.1

rvm rubies 

    ruby-1.9.2-p290 [ x86_64 ] 
    ruby-1.9.2-p320 [ x86_64 ] 
=* ruby-1.9.3-p194 [ x86_64 ] 

這是怎麼回事,我擺脫了那個?

回答

1

Ruby 1.9.3(和1.9.2)將寶石存儲在1.9.1文件夾中(我知道這很尷尬)。

如果項目使用Bundler,請確保列出包Gemfile中的依賴關係。 另外,確保gem存在於特定的Ruby版本中。

$ gem list 

也許你已經爲Ruby 1.9.2安裝了它,而你現在正在使用1.9.3。

+0

我將它作爲獨立的ruby文件運行,而不是作爲Rails項目運行。我如何知道我是否爲Ruby 1.9.2安裝了它? –

+1

運行'$ gem list'並檢查輸出。如果您不確定,請再次運行'$ gem install rest-client'。 –

+0

我做到了。它已經安裝。錯誤依然存在。 –