Ruby on rails railsgem安装问题
如果我在gem文件中写入以下内容,捆绑安装将无法工作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 '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”