无法加载此类文件
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
,但如果您遵循了最佳实践,您可能已经做到了。
我正在构建自己的第一个 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
,但如果您遵循了最佳实践,您可能已经做到了。