0

我的 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 仍然没有意义。

4

0 回答 0