当我尝试使用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
答案 0 :(得分:5)
更改文件的名称 - require 'whois'
中存在歧义,而ruby需要您的文件而不是宝石。当你在irb ruby中逐行完成时,知道你想要什么,所以一切正常。