【发布时间】:2011-07-05 00:24:04
【问题描述】:
我在尝试使用 Ruby 命令运行 .rb 文件以尝试访问 gem 时遇到问题。我尝试使用的 gem 是 Ruby-Whois。我在下面有一个示例脚本,当我尝试通过“ruby whois.rb”执行它时,我收到以下错误消息:
./whois.rb:6: 未初始化的常量 Whois (NameError)
但是,如果我在 IRB 中逐行运行相同的脚本,我会得到预期的结果。是什么原因造成的?
下面是whois.rb
require "rubygems"
require "whois"
domain = "google.com"
c = Whois::Client.new
a = c.query(domain)
puts a
【问题讨论】:
-
您是否为
ruby可执行文件和irb可执行文件运行相同版本的ruby? -
@johusman 我不知道。我该如何检查?这给了我: bash-3.2$ which irb /usr/bin/irb bash-3.2$ which ruby /usr/bin/ruby
-
回答您的问题:这些可能是符号链接。试试
readlink -f $(which irb)和readlink -f $(which ruby)。但我相信@jmatraszek 可能会在下面的答案中有所了解。