我正在做一个使用DataMapper和google-api gem的项目。当尝试运行项目时,我得到了一个错误。运行bundler或项目会产生一个错误,指出DataMapper使用addressable版本2.4.1,而google-api-client gem使用addressable 2.4.5 (版本可能不完全正确,因为我是从内存中编写这篇文章的)。
我是ruby的新手,但我猜这种冲突很常见,可能会有一种惯用的方式来处理。显然,我可以分叉任何一个项目,并尝试更新/回滚可寻址冲突,但这似乎确实是正确的方法。
更新::这是在请求dataMapper之后尝试在irb中请求google-api的结果
1.9.3p194 :004 > require 'google/api_client' Gem::LoadError: Unable to activate google-api-client-0.4.6, because addressable-2.2.6 conflicts with addressable (>= 2.3.2)
发布于 2012-11-21 07:10:54
没有惯用的方法来处理这个问题。datamapper对addressable的依赖是旧的,bundler找不到兼容的版本。
据我所知,自addressable-2.2.6以来,没有任何影响dm- Changelog的突破性API更改。Datamapper可以更新为使用更新版本的addressable。
datamapper 1.x分支的开发已经停止。我们正在积极开发datamapper-2.0。
在github上的datamapper的"release-1.2“分支中,依赖项已经更新。您可以通过Gemfile使用此分支:
gem 'dm-core', :git => 'https://github.com/datamapper/dm-core', :branch => 'release-1.2'此分支声明与addressable 2.x兼容,但大于2.3。你应该能够使用这个分支来解决你的依赖问题。
https://stackoverflow.com/questions/12712985
复制相似问题