我更新了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'