当我生成--mountable
Rails引擎时,它会自动继承根目录中的所有父应用程序的宝石(以及"分配的"环境groups
){ {1}},并且孩子Gemfile
是否允许添加其他宝石?如果您希望覆盖父级Gemfile
环境,是否可以在子级引擎group
中完成?
答案 0 :(得分:3)
可安装的引擎只是一个捆绑为gem的Rails功能。
Gems可以拥有自己的依赖项,这些依赖项在.gemspec
文件中声明。
Do(可安装)Rails引擎继承Gems吗?
没有。并不是的。由于gem安装在应用程序中,理论上它可以使用应用程序中存在的任何依赖项,但依赖于隐式依赖项并不是一个好主意,因为它不允许单独测试gem。
如果您希望覆盖父级的组环境,可以在子引擎的Gemfile中完成吗?
没有。您不应该在Gemfile中声明gems依赖项,因为gems是使用gem
命令部署的 - 而不是Bundler。
有关Bundler的核心贡献者之一的详细解释,请参阅Clarifying the Roles of the .gemspec and Gemfile。