我有两个 git 模块 A 和 B。B 是 A 的一个子模块(因此是一个子目录)。我在 B 中有一些需要从 A 调用的 ruby 脚本。模块 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")
关于ruby - 我可以在子目录/子模块中引用 gemfile 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40348930/