带有全新安装的Ruby bug(没有将nil隐式转换为String)

时间:2017-05-23 09:55:48

标签: ruby

我更新了Ruby。当我在CLI中请求Ruby版本时,它可以工作,但是当我请求Gem版本时,它会返回以下错误:

  

C:/Ruby23/lib/ruby/2.3.0/rubygems/config_file.rb:90:在`join'中:没有将nil隐式转换为String(TypeError)

在Windows上的便携版本以及已安装的版本上都会发现错误。

我不知道如何运行Ruby的工作版本。有没有人已经有这个错误或有解决这个问题的线索?

2 个答案:

答案 0 :(得分:1)

您需要以某种方式设置环境变量SYSTEM_CONFIG_PATH

以下是90的行rubygems/config_file.rb

SYSTEM_WIDE_CONFIG_FILE = File.join SYSTEM_CONFIG_PATH, 'gemrc'

SYSTEM_CONFIG_PATH为零时失败。

答案 1 :(得分:0)

搜索确切的错误消息“没有将nil隐式转换为字符串”,我终于找到了一个有效的解决方案(可能不是最好的)。

我更换了第90行:

  

SYSTEM_WIDE_CONFIG_FILE = File.join SYSTEM_CONFIG_PATH,'gemrc'

使用:

  

SYSTEM_WIDE_CONFIG_FILE = File.join SYSTEM_CONFIG_PATH.to_s,'gemrc'