2

我创建了一个包含可执行文件(bin/mygem)的 gem 'mygem'。gemspec 文件定义了一些依赖项,例如:

gem.add_dependency('othergem', '< 1.0')

在我的电脑上,我有两个版本的 othergem:0.9 和 1.0。

  • 当我运行bundle exec bin/mygem时,正确加载了 0.9 版本的 othergem。
  • 当我运行bin/mygem时,这是加载的 othergem (1.0) 的最后一个版本。

合乎逻辑。问题是当我在已经安装了 othergem 1.0 版本的计算机上安装 gem 'mygem' 时。RubyGems 将安装 0.9 版本的 othergem 以满足 gem 依赖关系。但是在终端mygem(RubyGems 生成的 binstub)中运行时,加载的是 1.0 版本。

问题:如何让我的可执行文件加载 0.9 版本而不将 gem othergem 嵌入到类似供应商的文件夹中?谢谢。

4

0 回答 0