无法加载此类文件

cannot load such file

我正在构建自己的第一个 Gem。在我创建了一些功能之后,我按照 gem 构建的最佳实践订购了所有文件。

我将所有文件移到了正确的文件夹中。 可执行文件在 bin/boss-mailer 中,其余的都放在 lib 文件夹中,如:

可执行文件很简单。我只是将可执行文件设置为 ruby 并尝试在 lib 文件中要求 boss_mailer.rb

这无法加载我的文件。我可以通过使用 require "./boss_mailer" 开始指向当前路径来要求它。 但是 在 Github 的其他 Gem 中我看到人们只是使用 require "filename" 来引用加载文件。喜欢这里:gli gem

我的问题

我是否必须预先构建 gem 或其他东西来要求我的文件不指向当前路径? 在不使用 ./ 的情况下需要文件 lib/boss_mailer' 怎么办?

您在使用 Bundler 吗?我会推荐的。然后 运行 您的二进制文件将简单为:

bundle exec ./bin/boss_mailer.rb

请确保您在 boss-mailer.gemspec 中正确配置了 $LOAD_PATH,但如果您遵循了最佳实践,您可能已经做到了。