找不到运行“ruby <my_script> .rb”的宝石 - 但在IRB中工作</my_script>

时间:2011-02-26 20:42:21

标签: ruby rubygems require irb

当我尝试使用Ruby命令尝试访问gem时,我正在尝试运行我的.rb文件时遇到问题。我试图使用的宝石是Ruby-Whois。我有一个示例脚本,当我尝试通过“ruby whois.rb”执行它时,我收到此错误消息:

./ whois.rb:6:ininitialized constant Whois(NameError)

但是,如果我在IRB中逐行运行相同的脚本,我会得到预期的结果。可能导致这种情况的原因是什么?

以下是 whois.rb

require "rubygems"
require "whois"

domain = "google.com"

c = Whois::Client.new
a = c.query(domain)

puts a

1 个答案:

答案 0 :(得分:5)

更改文件的名称 - require 'whois'中存在歧义,而ruby需要您的文件而不是宝石。当你在irb ruby​​中逐行完成时,知道你想要什么,所以一切正常。