首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何解决这个Ruby错误信息?

如何解决这个Ruby错误信息?
EN

Stack Overflow用户
提问于 2015-03-13 02:09:45
回答 2查看 49关注 0票数 0

我想运行一个Ruby脚本(https://github.com/jjyg/rbircd),但是我得到了下面的错误消息:

代码语言:javascript
复制
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这样的文件,但这个文件就在那里。

我是否误解了它给出的错误信息?

代码语言:javascript
复制
ls rbircd/
  README
  crypto.rb
  ircd.conf
  ircd.rb   
  ircd_commands.rb
  oper_mkpass.rb
EN

回答 2

Stack Overflow用户

发布于 2015-03-13 02:25:23

您需要做的操作如下:

代码语言:javascript
复制
[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 -在执行script
  • -Idirectory之前需要该库-指定$LOAD_PATH目录(可以多次使用)
票数 0
EN

Stack Overflow用户

发布于 2015-03-13 02:30:34

限定您的库路径

您需要使用带有-r标志的完整路径或相对路径。例如,以下内容应包括您的ircd.rb库:

代码语言:javascript
复制
ruby -r ./ircd.rb -e 'Ircd.run("ircd.conf", "irc_log.txt")'
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29017223

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档