我正在研究一个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.glob
,Dir['./lib/intervallum/*']
和require '../intervallum/lib/intervallum/module.spell.rb'
,每个人都会遇到以下情况:
本地,在gem build intervallum.gemspec
和gem install intervallum-[version].gem
后,我启动了irb
和require intervallum
,它运行正常。
我不确定为什么会一直发生这种情况,或者是否有一些我不知道为什么会一直发生的事情,但是我会非常感激任何建议。
答案 0 :(得分:0)
问题是,在打包时,您不会在gem中包含这些文件。您的gemspec指定只有lib/intervallum.rb
文件将包含在gem中:
s.files = ["./lib/intervallum.rb"]
更改该行以包含lib中的所有文件。包含gemspec也是一个好主意。
s.files = Dir['lib/**/*', 'intervallum.gemspec']