传递 Gem 版本不工作 Rails 4.2

Passing in Gem Version Not Working Rails 4.2

我正在尝试安装 Sunspot 以对我的 rails 应用程序进行全文搜索。

将 gem 和特定版本传递到 gem 文件时

gem 'sunspot_rails', '~> 2.1.0'
gem 'sunspot_solr', '~> 2.1.0'

它会忽略版本并安装 2.1.1 - 我也尝试过从命令提示符手动安装它们

gem install sunspot_rails -v "~> 2.1.0"

但同样的事情发生了。

任何关于为什么会发生这种情况的帮助将不胜感激。有任何问题请提问。是的,我仍然是 rails 初学者。谢谢!

这是因为版本号前的 ~>。它将安装从 2.1.0 到 2.2(独占)的任何版本。

如果要安装 2.1.0 版,请删除 ~>:

gem 'sunspot_rails', '2.1.0'
gem 'sunspot_solr', '2.1.0'

依赖说明符的一些例子:

Specification From  ... To (exclusive)
">= 3.0"      3.0   ... ∞
"~> 3.0"      3.0   ... 4.0
"~> 3.0.0"    3.0.0 ... 3.1
"~> 3.5"      3.5   ... 4.0
"~> 3.5.0"    3.5.0 ... 3.6
"~> 3"        3.0   ... 4.0

查看此 doc 了解更多详情。