我可以在 subdirectory/submodule 中引用 gemfile 吗?

Can I reference a gemfile in a subdirectory/submodule?

我有两个 git 模块 A 和 B。B 是 A 的子模块(因此是一个子目录)。我在 B 中有一些 ruby 脚本需要从 A 调用。模块A 本身没有任何 Ruby 代码(因此不需要 Gemfile)。我在 B 中有一个 Gemfile,它列出了 B 中脚本的依赖项。但是要从 A 调用这些脚本,我必须将 Gemfile 向上移动到 A:

cd A
mv B/Gemfile .
bundle update
bundle install
bundle exec ruby B/someScript.rb

有没有一种方法可以在 B 中调用脚本而不必先将 Gemfile 向上移动到 A 中?

只需将终端移动到子文件夹 - B(子模块)和 运行 脚本。无论如何 A 没有任何 ruby 代码,因此可以在 运行 运行脚本时将终端移动到 B 子文件夹。这将很容易管理子模块。

cd A/B
bundle update
bundle install
bundle exec ruby someScript.rb

如果你真的想要它在A中,那么按照下面的Gemfile

Gemfile

# Gemfile inside project A
source 'http://rubygems.org/'

eval_gemfile File.join(File.dirname(__FILE__), "B/Gemfile")