全新安装的 Ruby 错误(没有将 nil 隐式转换为字符串)



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

C:/Ruby23/lib/ruby/2.3.0/rubygems/config_file.rb:90:in 'join':没有将 nil 隐式转换为字符串(TypeError(

在Windows上的便携式版本以及已安装的版本中发现该错误。

我不知道该怎么做才能运行 Ruby 的工作版本。有没有人已经得到了这个错误或有解决这个问题的线索?

您需要

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

以下是rubygems/config_file.rb的行90

SYSTEM_WIDE_CONFIG_FILE = File.join SYSTEM_CONFIG_PATH, 'gemrc'

SYSTEM_CONFIG_PATH为零时,这将失败。

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

我替换第 90 行:

SYSTEM_WIDE_CONFIG_FILE = File.join SYSTEM_CONFIG_PATH, 'gemrc'

跟:

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

最新更新