Ruby环境gem update --system超时及文件缺失问题求助
解决Ruby 3.0.5下gem update --system的Net::OpenTimeout及目录缺失问题
针对Net::OpenTimeout超时问题
- 替换rubygems国内镜像源,规避国外源网络延迟:
之后重新执行更新命令:gem sources --remove https://rubygems.org/ gem sources --add https://gems.ruby-china.com/gem update --system
针对rubygems-update目录缺失问题
1. 确认rubygems-update实际安装路径
执行以下命令查看gem的安装路径列表:
gem environment
在输出的GEM PATHS部分,找到用户级或系统级的gem安装目录(比如用户目录可能是~/.local/share/gems/gems/),检查rubygems-update-3.4.12是否存在于其中。
2. 手动执行更新脚本
如果找到对应目录,直接用绝对路径执行更新:
ruby /path/to/rubygems-update-3.4.12/bin/update_rubygems
若未找到,手动下载并解压安装包后执行:
gem fetch rubygems-update -v 3.4.12 gem unpack rubygems-update-3.4.12.gem cd rubygems-update-3.4.12 ruby bin/update_rubygems
3. 处理权限问题
系统级gem目录/usr/share/gems/需要root权限,尝试加sudo执行更新:
sudo gem update --system
或者使用用户级安装,避免系统权限限制:
gem update --system --user-install
4. 修复gem路径配置
如果系统gem路径未被正确识别,手动添加到环境变量:
export GEM_PATH=/usr/share/gems/gems/:$GEM_PATH gem update --system
验证结果
执行以下命令确认rubygems版本是否更新成功:
gem --version
内容的提问来源于stack exchange,提问作者ossama assaghir
相关产品推荐
相关产品推荐

