如何修复Ruby报错`require': cannot load such file -- gserver
问题根因
该报错由两个问题共同导致:
- 你参考的《Programming Ruby 1.9 & 2.0 第4版》适配的是Ruby 1.9/2.0版本,
gserver在Ruby 2.2及后续版本中已经从官方标准库移除,你当前使用的Ruby 2.6.3默认不内置该库。 - 你代码中使用的
require 'gserver'默认只会从Ruby标准库路径、已安装的gem路径搜索依赖,不会主动查找当前工作目录下的文件,因此即便你把gserver相关文件放在同级目录也无法被正常加载。
解决方案
根据你的需求选择对应操作即可:
- 如果要继续沿用教程的原生逻辑,先安装第三方维护的
gservergem:gem install gserver - 如果要加载本地同级目录下的
gserver文件,把代码第一行的require 'gserver'修改为:
你也可以选择在加载依赖前把当前目录加入Ruby的加载路径:require_relative 'gserver'$:.unshift __dir__ require 'gserver' - 执行脚本前确认当前工作目录和
gserver、gserver-logger.rb文件所在目录一致,避免路径匹配失败。
内容的提问来源于stack exchange,提问作者NewHorizons1
相关产品推荐
相关产品推荐

