2

我已经安装了 jruby 并尝试将 Neo4j 用于我的 Rails 应用程序。但是键入 bundle install 会给我以下冲突。

Bundler 找不到 gem "railties" 的兼容版本:在 Gemfile 中:neo4j (>= 2.2.3) java 依赖于 railties (< 3.3, >= 3.0.0) java

rails (= 4.0.0) java 依赖于 railties (4.0.0)

这是我的宝石文件:

source 'https://rubygems.org'

gem 'rails', '4.0.0'
gem 'sass-rails'
gem 'uglifier', '>= 1.3.0'
gem 'coffee-rails'
gem 'therubyrhino'
gem 'jquery-rails'
gem 'turbolinks'
gem 'jbuilder', '~> 1.2'

group :doc do
  gem 'sdoc', require: false
end
gem 'bcrypt-ruby', '~> 3.0.0'
gem 'unicorn'
gem 'capistrano', group: :development

group :development, :test do
  gem "rspec-rails"
end

gem "neo4j", ">= 2.2.3"

我应该删除我的 Gemfile.lock 并运行包更新吗?谢谢!

4

2 回答 2

5

在 neo4j 项目中有一个 rails 4 的分支,所以你可以在 Gemfile 中指定它:

gem 'neo4j', git: 'git://github.com/andreasronge/neo4j.git', branch: 'rails4'

于 2013-08-07T22:38:48.610 回答
3

也就是说,当前可用的 neo4j 版本需要 railties < 3.3 的版本,但 rails 4.0.0 需要 railties 的 4.0.0 版本:bundler 无法解决此冲突。

解决这个问题的唯一方法是更新 neo4j 以使用 rails 4.0。Neo4j 对 railties 的版本限制完全有可能只是一种预防措施——除了检查一切在 4.0 下是否仍然正常工作之外,别无他法。

于 2013-07-02T15:20:19.313 回答