You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

执行knife ssl check连接manage.chef.io失败,请求解决报错

解决knife ssl check执行时的uninitialized class variable @@schemes in URI错误

这个错误是由于proxifier gem版本(1.0.3)与Ruby 3.1不兼容导致的,Ruby 3.0+对URI模块的内部结构做了调整,移除了@@schemes类变量,而旧版本proxifier仍在尝试引用它。以下是几种可行的解决办法:

方案1:升级proxifier到兼容版本

直接在Chef Workstation的嵌入式Ruby环境中安装兼容Ruby 3.1的proxifier版本(1.1.0及以上):

cd /opt/chef-workstation/embedded && gem install proxifier -v 1.1.0

完成后重新执行knife ssl check即可。

方案2:手动修改proxifier的代码(临时修复)

如果无法升级gem,可直接修改报错的文件:

  1. 编辑socks.rb文件:
vi /opt/chef-workstation/embedded/lib/ruby/gems/3.1.0/gems/proxifier-1.0.3/lib/uri/socks.rb
  1. 找到第8行的URI.scheme_list[:SOCKS] = URI::SOCKS,替换为:
URI.register_scheme('SOCKS', URI::SOCKS)
  1. 保存文件后重新执行knife ssl check。

方案3:临时禁用代理环境变量

如果你的环境中设置了HTTP/HTTPS代理但实际不需要通过代理连接manage.chef.io,可临时取消代理变量后重试:

unset HTTP_PROXY HTTPS_PROXY
knife ssl check

内容的提问来源于stack exchange,提问作者shivam rawat

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 21:20:25