当我尝试在命令行中包含库时,我收到LoadError消息
$ ruby -v
ruby 1.8.7 (2012-06-29 patchlevel 370)
$ gem list | grep coderay_bash
coderay_bash (1.0.2)
$ ruby -rcoderay_bash /bin/coderay -v
ruby: no such file to load -- coderay_bash (LoadError)
$ ruby -rubygems -rcoderay_bash /bin/coderay -v
ruby: no such file to load -- coderay_bash (LoadError)
它似乎适用于ruby 1.9.2
$ ruby -v
ruby 1.9.2p290 (2011-07-09)
$ ruby -rcoderay_bash /bin/coderay -v
CodeRay 1.0.7
答案 0 :(得分:2)
在Ruby 1.8中,在require
之前,无法访问与RubyGems一起安装的任何require 'rubygems'
。 1.9删除了此要求。
您有以下几种选择:
require 'rubygems'
放在文件的顶部即可。这对于1.9来说是无害的,可能是最简单的事情,因为它在代码中并且没有人使用你的应用程序必须记住任何东西#!/usr/bin/env ruby -rubygems
这告诉Ruby解释器需要rubygems,但允许用户通过将文件直接发送到ruby
来避免这种情况,如果他们因某种原因被RubyGems冒犯了< / LI>
ruby
一起使用并使用-rubygems
,例如ruby -rubygems my_app.rb
这在代码中没有依赖RubyGems,并且可以工作,但你必须记住每次都这样做,这有点痛苦。