2013-07-29 47 views
1

我有一個很小的,簡單的(即非Rails)Ruby項目,我試圖去使用addressable寶石。這裏是發生了什麼:Ruby腳本不能使用寶石

$ ruby -r rubygems sign.rb 
sign.rb:5:in `require': cannot load such file -- addressable (LoadError) 
    from sign.rb:5:in `<main>' 

這是Gemfile

source "http://rubygems.org" 

gem "addressable", "~> 2.3.2" 

這是sign.rb

#!/usr/bin/env ruby 

require "rubygems" 
require "bundler/setup" 
require "addressable" 

這一切就是這麼簡單。爲什麼不想使用寶石?

+0

您是否運行'bundle install'呢? –

+0

是的,我是diiiiiiiiiid。 –

回答

2

有沒有addressable文件,你可以要求,只是addressable directory。你必須要求你想要的目錄,例如:

require 'addressable/uri' 
uri = Addressable::URI.parse("http://example.com/path/to/resource/") 
# etc ... 

require "addressable/template" 
template = Addressable::Template.new("http://example.com/{?query*}/") 
# etc... 

退房的addressable docs下的特定文件。

+0

就是這樣。謝謝。 –

0

您是否已使用$ bundle install安裝了該寶石?

這將獲取您的Gemfile中指定的寶石,並將它們提供給工作目錄。

+0

是的,我做到了。 –

+0

安裝成功了嗎?你嘗試過使用'$ bundle exec'嗎? http://bundler.io/v1.3/man/bundle-exec.1.html編輯:沒關係,看起來像馬特得到它。 –