我有一些运行IRB.start的代码(从创业板内部)
然而,我在magic-file.rb“没有这样的文件或目录@ rb_sysopen -控制台”中得到了这个错误。
/Users/you/.rvm/rubies/ruby-2.2.1/lib/ruby/2.2.0/irb/magic-file.rb:7:in `initialize': No such file or directory @ rb_sysopen - console (Errno::ENOENT)
from /Users/you/.rvm/rubies/ruby-2.2.1/lib/ruby/2.2.0/irb/magic-file.rb:7:in `open'
from /Users/you/.rvm/rubies/ruby-2.2.1/lib/ruby/2.2.0/irb/magic-file.rb:7:in `open'
from /Users/you/.rvm/rubies/ruby-2.2.1/lib/ruby/2.2.0/irb/input-method.rb:100:in `initialize'
from /Users/you/.rvm/rubies/ruby-2.2.1/lib/ruby/2.2.0/irb/context.rb:84:in `new'
from /Users/you/.rvm/rubies/ruby-2.2.1/lib/ruby/2.2.0/irb/context.rb:84:in `initialize'
from /Users/you/.rvm/rubies/ruby-2.2.1/lib/ruby/2.2.0/irb.rb:426:in `new'
from /Users/you/.rvm/rubies/ruby-2.2.1/lib/ruby/2.2.0/irb.rb:426:in `initialize'
from /Users/you/.rvm/rubies/ruby-2.2.1/lib/ruby/2.2.0/irb.rb:381:in `new'
from /Users/you/.rvm/rubies/ruby-2.2.1/lib/ruby/2.2.0/irb.rb:381:in `start'
from /Users/you/projects/mygem/lib/mygem/commands.rb:20:in `console'发布于 2015-10-14 22:31:21
我想出来了!通过查看代码:
我能够确定IRB检查ARGV,以便您可以将命令行上的IRB传递给调用IRB.start的任何脚本。
但是,由于我试图创建一个rake任务,以便使用预加载的库启动控制台,所以我的命令行是:
rake consoleIRB试图加载文件“控制台”,因为它假设第一个没有连字符的arg是要运行的脚本。有点烦人。(IRB.start应该将args作为arg的一种方法来避免这种紧密耦合。)
通过在我的IRB.start之前添加以下内容,我成功地修复了它:
ARGV.clear更新:自被请求以来,以下是使用ARGV的确切位置:
https://stackoverflow.com/questions/33070092
复制相似问题