如何在Gemfile中指定本地gem的版本?

时间:2015-02-11 07:27:14

标签: ruby-on-rails ruby gem

我有一个本地gem和一个使用本地gem的rails应用程序。

有没有办法指定宝石的特定版本?

我知道'rake install'会在gem的/ pkg目录中生成* .gem。但我不知道如何使用它。

以下是我现在的使用方法:

In Gemfile:
gem 'mygem', path: '~/shared/mygem'

感谢。

萨姆

编辑:

我认为我的问题几乎与How to tell the Gem File to use a specific local copy of a gem重复。

我只需要知道如何指定本地gem的特定版本。

2 个答案:

答案 0 :(得分:1)

要指定版本,或者更具体地说,指定一系列版本,您可以像使用ruby代码一样使用运算符。

运营商应该是:

>=<=~>

范围允许可能无法匹配确切的版本号(特别是对于特定于Windows的gem构建)。

悲观运算符(~>)通常被认为是最佳选择,因为它与您正在使用的构建保持在相同的点范围内(1.0.4永远不会达到1.1.0,但可以使用任何东西之间)。

gemfile语法的一个示例:

gem 'sinatra', '~> 1.4.4'

gem 'uglifier', '>= 1.3.0'

答案 1 :(得分:0)

In Gemfile:
gem 'mygem', path: '~/shared/mygem', branch: 'branch name'

如果您的版本在特定提交中,请使用ref:'commit number'