Ruby on rails railsgem安装问题

Ruby on rails railsgem安装问题,ruby-on-rails,ruby,gem,rubygems,bundler,Ruby On Rails,Ruby,Gem,Rubygems,Bundler,如果我在gem文件中写入以下内容,捆绑安装将无法工作 gem 'activerecord-sqlserver-adapter' 我犯了以下错误 Bundler could not find compatible versions for gem "activerecord": In Gemfile: activerecord-sqlserver-adapter (~> 4.0.0) ruby depends on activerecord (~> 4.0.0) ruby ra

如果我在gem文件中写入以下内容,捆绑安装将无法工作

gem 'activerecord-sqlserver-adapter'
我犯了以下错误

Bundler could not find compatible versions for gem "activerecord":
In Gemfile:
activerecord-sqlserver-adapter (~> 4.0.0) ruby depends on
  activerecord (~> 4.0.0) ruby

rails (= 4.1.2) ruby depends on
  activerecord (4.1.2)
但是当我从终端安装这个gem时

gem install activerecord-sqlserver-adapter
我收到了下面的成功消息

Fetching: activerecord-sqlserver-adapter-4.1.0.gem (100%)
Successfully installed activerecord-sqlserver-adapter-4.1.0
1 gem installed

通过bundler安装gem和直接安装gem是有区别的。使用Bundler时,Bundler将在
Gemfile
中包含的任何其他gem的上下文中解析gem依赖项。所以,若gema和B都依赖于C,但它们依赖于两个不同的版本,Bundler就会抱怨

在您的情况下,
activerecord sqlserver适配器依赖于
activerecord
(~>4.0.0),这意味着任何4.0.x版本,而您使用的Rails 4.1.2依赖于
activerecord
4.1.2

activerecord sqlserver适配器
rails
具有相同的依赖关系,但版本不匹配。您需要降级Rails(不推荐),或者升级
activerecord sqlserver适配器
依赖项。您可能需要联系activerecord sqlserver adapter的维护人员,或与库管理员联系。

您说:

gem 'activerecord-sqlserver-adapter'
但是bundle声明中说:

In Gemfile:
activerecord-sqlserver-adapter (~> 4.0.0) ruby depends on
...
你真的把这个放在你的档案里了吗

gem 'activerecord-sqlserver-adapter', '~> 4.0.0'
因为最新的
activerecord sqlserver适配器
支持AR 4.1.x。您可以尝试将activerecord sqlserver适配器捆绑起来,以获取最新版本,或者在文件中指定
“~>4.1”