我的 Gemfile 中有
gem 'rails', '4.0.0'
gem 'sass-rails', '~> 4.0.0'
这工作正常。如果我运行 bundle update 它会显示“使用 sass-rails (4.0.1)”。现在,如果我尝试将其更改为使用 4.0.0 ( gem 'sass-rails', '4.0.0'
) 并运行包更新,它会给我错误:
Bundler could not find compatible versions for gem "railties":
In Gemfile:
rails (= 4.0.0) ruby depends on
railties (= 4.0.0) ruby
sass-rails (= 4.0.0) ruby depends on
railties (4.0.1)
我不明白为什么较低版本的 sass-rails 需要更高版本的 railties?这对我来说似乎很奇怪,这怎么可能?其实那是谎言!
在另一个项目(Rails Tutorial sample_app)我有
gem 'rails', '4.0.0'
gem 'sass-rails', '4.0.0'
只有railties(4.0.0),但捆绑更新工作正常。所以看起来上面的错误不是问题。那我不知道是什么?!
我在这里找到了更多信息 -无法获取 gemfile 以允许更新包(如果我在 gemfile 中切换 rails 和 sass-rails 的顺序,那么 4.0.0 可以正常工作)。但是,为什么我的 Gemfile 在一个项目中运行良好,而不是在另一个项目中使用相同的 sass-rails 和 rails gem 以及相同的 railties 仍然没有意义。