我想运行一个Ruby脚本(https://github.com/jjyg/rbircd)但是我收到以下错误消息:
root@li140-48:~/rbircd# ruby -r ircd.rb -e 'Ircd.run("ircd.conf", "irc_log.txt")'
/usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require': cannot load such file -- ircd.rb (LoadError)
from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
我不确定这是什么告诉我,因为我对Ruby很新,但对我而言,它似乎抱怨没有ircd.rb
这样的文件,但是这个文件就在那里。 / p>
我误解了它给出的错误信息吗?
ls rbircd/
README
crypto.rb
ircd.conf
ircd.rb
ircd_commands.rb
oper_mkpass.rb
答案 0 :(得分:0)
您需要执行以下操作:
[arup@Ruby]$ cat > so/a.rb
class Foo
def foo
12
end
end
^C
[arup@Ruby]$ cat so/a.rb
class Foo
def foo
12
end
end
[arup@Ruby]$ ruby -ra -e "puts Foo.new.foo"
..'require': cannot load such file -- a (LoadError)
[arup@Ruby]$ ruby -Iso -e 'p $LOAD_PATH.first'
"/home/arup/Ruby/so"
[arup@Ruby]$ ruby -Iso -e "puts Foo.new.foo"
-e:1:in '<main>': uninitialized constant Foo (NameError)
[arup@Ruby]$ ruby -Iso -ra -e "puts Foo.new.foo"
12
使用ruby -h
阅读以下内容:
-rlibrary
- 在执行脚本之前需要库
-Idirectory
- 指定$ LOAD_PATH目录(可多次使用)
答案 1 :(得分:0)
您需要使用带有-r
标记的完整路径或相对路径。例如,以下内容应包含您的ircd.rb库:
ruby -r ./ircd.rb -e 'Ircd.run("ircd.conf", "irc_log.txt")'