【问题标题】:Is it possible to require a single file in a Ruby gem rather than the main gem entry point?是否可以在 Ruby gem 中需要单个文件而不是主 gem 入口点?
【发布时间】:2021-03-17 00:45:44
【问题描述】:

我继承了一个需要很长时间才能加载的 Ruby gem。在某些情况下,我不需要加载整个 gem,并且只需要访问 gem 中的一个文件,该文件不依赖于 gem 中的任何其他文件。

有没有办法require 只是这个文件?如有必要,我可以修改 gemspec。也就是说,而不是:

require 'my_gem'

...我想做:

require 'my_gem/a/b/c/my_file'

【问题讨论】:

  • 是的,你可以试试require 'my_gem/path/to/file'
  • 我也是这么想的,当我在另一个 gem 上尝试它时,它有效,但它不适用于我最初尝试这样做的特定 gem。 gemspec 中可能有一些东西导致它的行为不同。

标签: ruby rubygems


【解决方案1】:

是否可以在 Ruby gem 中要求单个文件?

require 总是加载单个文件。

换句话说,不仅可以要求单个文件,实际上不可能不要求

【讨论】:

  • 不是真的,在 Ruby 中需要 gem 通常会导致加载/需要该 gem 中的大部分或所有 Ruby 文件,不是吗?
  • require 需要一个文件。时期。当然,该文件可以包含任何代码,包括对require 的调用。
  • 我现在看到我的问题不清楚。感谢您指出了这一点。这绝对不能解决我的问题,所以我并不认为这是一个答案,但帮助我更清楚地表达了问题。
猜你喜欢
  • 2016-09-02
  • 2013-05-30
  • 2012-09-29
  • 2016-04-06
  • 1970-01-01
  • 1970-01-01
  • 2013-08-18
  • 2015-09-12
  • 1970-01-01
相关资源
最近更新 更多