如果我有Gemfile
这些内容:
gem 'my-plugin'
my-plugin
需要哪些文件Bundle.require
?
如果我有Gemfile
这些内容:
gem 'my-plugin'
my-plugin
需要哪些文件Bundle.require
?
Bundler.require
每个 Gem 只做一个需求声明。Gem 是否需要来自顶级文件的附加文件。
它根据标准命名约定确定每个 Gem 需要哪个文件:
rspec-rails
您需要使用require 'rspec/rails'
)。所以,在这种情况下,它会require 'my/plugin'
,这可能不是你想要的。按照惯例,您的 Gem 应该使用下划线命名,并且在其目录my_plugin
中应该有一个顶级文件,该文件需要您的 Gem 中的其他文件。lib
my_plugin.rb
如果您无法更改 Gem 的名称,您可以使用如下代码覆盖默认的 require 语句:
gem 'my-plugin', :require => 'my_plugin'
如果您需要 Gem 中的多个文件,最好向您的应用程序添加明确的 require 语句,而不是依赖Bundler.require
.