Ruby脚本不能使用gem

时间:2013-07-29 16:03:43

标签: ruby rubygems bundler

我有一个很小的,简单的(即非Rails)Ruby项目,我正试图使用​​addressable gem。这是发生的事情:

$ 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"

这就是它的全部。为什么不想使用宝石?

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

您之前是否使用$ bundle install

安装了gem

这将获取Gemfile中指定的gem,并使它们可用于工作目录。