首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >未初始化常量XmlSimple,但我包含了正确的gem

未初始化常量XmlSimple,但我包含了正确的gem
EN

Stack Overflow用户
提问于 2016-08-18 01:49:12
回答 1查看 268关注 0票数 1

我试图在脚本中使用XmlSimple宝石。我的剧本是这样的:

代码语言:javascript
复制
#!/usr/bin/env ruby

gem 'xml-simple', '1.1.5'

xml = XmlSimple.xml_in('test_data.xml')

puts xml

这与错误失败:

代码语言:javascript
复制
./script.rb:5:in `<main>': uninitialized constant XmlSimple (NameError)

为什么我要得到这个错误,以及如何修复它?

这些常见的解决gems问题的方法并没有帮助我:

  • 如果忘记显式地包含相关的gem,则会出现此错误。从我的MVCE中可以看出,我没有犯这个错误。
  • 有时,显式要求gem的正确版本解决了这个问题。然而,我已经要求这个宝石的最新版本。我还反复检查过,这是我在系统上安装的创业板的版本。
  • 根据XmlSimple文档,当包含此gem时,最肯定的是定义XmlSimple类。我不想使用一个不存在的类。
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-18 02:21:07

您已经通过使用gem方法激活了gem,但并不需要它。这意味着gem的文件现在在您的加载路径上,但是Ruby解释器还没有加载它们,所以它们的内容对您的程序不可用。

您只需添加

代码语言:javascript
复制
require 'xmlsimple'

gem线之后。

您并不总是需要gem方法,您只需使用require就可以自动激活最新安装的gem版本--但是如果您想指定要使用哪个版本,则需要显式使用gem

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39008756

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档