需要在ruby gem中出错

时间:2015-06-25 22:08:36

标签: ruby gem require

我正在研究一个Ruby gem,我收到一个奇怪的错误。我以前发布过这个宝石没有太多麻烦。我添加了一些方法/重构了一些代码,并希望发布一个后续版本(从1.1到1.2)。

作为参考,gem的名称是 Intervallum ,(拉丁语中的'interval'一词)。

我遇到了一个“需要”的错误,一直困扰着我。

文件夹树是:

.
├── Gemfile
├── LICENSE
├── README.md
├── intervallum-[version].gem
├── intervallum.gemspec
└── lib
    ├── intervallum
    │   ├── module.scroll.rb
    │   └── module.spell.rb
    └── intervallum.rb

lib/intervallum.rb我尝试了Dir.globDir['./lib/intervallum/*']require '../intervallum/lib/intervallum/module.spell.rb',每个人都会遇到以下情况:

本地,在gem build intervallum.gemspecgem install intervallum-[version].gem后,我启动了irbrequire intervallum,它运行正常。

  • 推送到RubyGems
  • 删除本地副本
  • 从RG安装
  • 在irb中加载我遇到加载错误或者找不到辅助类的类

我不确定为什么会一直发生这种情况,或者是否有一些我不知道为什么会一直发生的事情,但是我会非常感激任何建议。

1 个答案:

答案 0 :(得分:0)

问题是,在打包时,您不会在gem中包含这些文件。您的gemspec指定只有lib/intervallum.rb文件将包含在gem中:

s.files   = ["./lib/intervallum.rb"]

更改该行以包含lib中的所有文件。包含gemspec也是一个好主意。

s.files = Dir['lib/**/*', 'intervallum.gemspec']