我最近打开了irb,现在我突然每次运行irb时都会给我这个错误:
load error: /Users/addisonbean/.rvm/rubies/ruby-2.1.2/.irbrc
NoMethodError: undefined method `split' for nil:NilClass
/Users/addisonbean/.rvm/scripts/irbrc.rb:45:in `<top (required)>'
/Users/addisonbean/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
/Users/addisonbean/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
/Users/addisonbean/.rvm/rubies/ruby-2.1.2/.irbrc:11:in `<top (required)>'
/Users/addisonbean/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/irb/init.rb:236:in `load'
/Users/addisonbean/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/irb/init.rb:236:in `run_config'
/Users/addisonbean/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/irb/init.rb:19:in `setup'
irb(main):001:0>
但是,正如我已经向您展示的那样,它仍然会在所有错误后提示我
这是/Users/addisonbean/.rvm/rubies/ruby-2.1.2/.irbrc中的所有代码(数字是行号)
8 if ENV["rvm_path"].nil?
9 require File.join(ENV["HOME"], "irbrc")
10 else
11 require File.join(ENV["rvm_path"], "scripts", "irbrc")
12 end
我没有〜/ .irbrcw
我希望得到一些帮助,谢谢!
答案 0 :(得分:0)
查看line 45 of rvm's scripts/irbrc.rb
,我们可以发现在split
上调用了path
。由于某些原因,您的path
似乎是nil
- 可能是因为其中一个rescue nil
块正在运行。
我不建议围绕rvm的内部进行黑客攻击,但看起来你可以通过设置环境变量$rvm_ruby_string
来伪装它,因为irbrc.rb
在它试图找出它之前检查它。将其设置为“2.1.2”应该与它计算的匹配。
答案 1 :(得分:0)
这些步骤解决了我的问题:
ruby -v
示例:
ruby 2.1.2p95(2014-05-08修订版45877)[x86_64-darwin13.0]
rvm删除2.1.2
rvm install 2.1.2