我做了搜索,现有的解决方案都没有为我工作,所以我创建了一个新问题 .
尝试启动服务器时出错 .
Bundler找不到gem“json”的兼容版本:在快照(Gemfile.lock)中:json(= 1.8.6)在Gemfile中:rails(= 4.2.4)x86-mingw32被解析为4.2.4,这取决于on activesupport(= 4.2.4)x86-mingw32被解析为4.2.4,这取决于json(> = 1.7.7,〜> 1.7)x86-mingw32
Gemfile源'https://rubygems.org'
gem 'rails', '4.2.4'
gem 'activerecord-jdbcpostgresql-adapter'
gem 'sass-rails', '~> 5.0'
gem 'uglifier', '>= 1.3.0'
gem 'coffee-rails', '~> 4.1.0'
gem 'therubyrhino'
gem 'jquery-rails'
gem 'jbuilder', '~> 2.0'
gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]
Gemfile.lock片段
GEM
remote: https://rubygems.org/
specs:
activesupport (4.2.4)
i18n (~> 0.7)
json (~> 1.7, >= 1.7.7)
minitest (~> 5.1)
thread_safe (~> 0.3, >= 0.3.4)
tzinfo (~> 1.1)
json (1.8.6-java)
我试图做的:
-
删除Gemfile.lock并运行bundle install
-
将json添加到Gemfile
-
将Gemfile.lock中的json设置为1.8.6-java
Bundler找不到gem“json”的兼容版本:在快照(Gemfile.lock)中:json(= 1.8.6)在Gemfile中:rails(= 4.2.4)x86-mingw32被解析为4.2.4,这取决于on activesupport(= 4.2.4)x86-mingw32被解析为4.2.4,这取决于json(= 1.8.6)x86-mingw32
从Gemfile.lock中删除json(1.8.6-java)
这些都没有奏效 .
3 Answers
做就是了
这个对我有用
不幸的是,当你明确地将它添加到你的gemfile中或者你指定它的gemfile中的行踪时,我不会问你指定的json版本(see this SO thread) . 但我最好的猜测是,您的其他依赖项之一正在下载
1.8.6
,这与您的Active Support版本指定的版本~>1.7.7
不一致 .我的建议是尝试明确要求
在你的gemfile的 end ,before something else loads it . 如果其他东西试图加载更新版本的
json
,您应该收到不同的错误消息;您可能必须指定一个早期版本的gem试图下载冲突的版本 .当您运行捆绑包更新以更新您的宝石时,它会立即更新所有宝石 . 如果您的应用程序停止工作或测试开始失败,那么很难确定哪个gem更新破坏了它 .
您可能认为
bundle update gem_name
只会更新该gem及其依赖项 .注意:
bundle update --source gem_name
仅更新gem