ruby - 我可以在子目录/子模块中引用 gemfile 吗?

标签 ruby gemfile

我有两个 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/

相关文章:

css - Bootstrap 文本字段突然缩小

ruby-on-rails - rails 4 : How to check validation errors from inside a controller

css - Ruby on Rails Assets 管道似乎在添加不存在的样式

ruby-on-rails - rails 电子邮件错误 - 530-5.5.1 需要身份验证。

ruby - 将组名称转换为组 ID (gid) 的 API

jquery - Rails3 应用程序使用 jquery 但未将其包含在 Gemfile 中,应该吗?

rubygems - 使用 Bundler 打包本地 ruby ?

ruby-on-rails - 无法加载此类文件 -- 捆绑程序/设置(加载错误)- Passenger/Apache2

ruby-on-rails - 什么时候需要在 Rails Gemfile 中使用 require?