0

Gemfile我有:

gem 'bootstrap-sass', '~> 3.0.3.0'

我现在已将其更改为以下内容,这是撰写本文时的最新版本:

gem 'bootstrap-sass', '~> 3.1.1.1'

查看RubyGems.org 上的bootstrap-sass (3.0.3.0)bootstrap-sass (3.1.1.1),我发现这两个版本都具有以下运行时依赖项:

sass ~> 3.2

看一下sass本身,我发现它没有运行时依赖项,并且它的最新版本是:

gem 'sass', '~> 3.3.7'

进行上述更改后(对bootstrap-sass),我跑了bundle,看到以下内容:

...
Using sass 3.2.19
Installing bootstrap-sass 3.1.1.1 (was 3.0.3.0)
...

我的问题是为什么没有sass更新,我如何在不引用它的情况下更新它Gemfile

对于它的价值,这里有更多信息:

-bash> grep sass Gemfile.lock 
    bootstrap-sass (3.1.1.1)
      sass (~> 3.2)
      sass-rails (~> 4.0)
    sass (3.2.19)
    sass-rails (4.0.3)
      sass (~> 3.2.0)
  bootstrap-sass (~> 3.1.1.1)
  sass-rails (~> 4.0.3)
4

1 回答 1

1

正如您所指出的,两个bootstrap-sass版本 (3.0.3.03.1.1.1) 都依赖于:

sass ~> 3.2

这意味着它们需要最高3.2.x版本sass,但不是3.3. 这就是~>意思,这就是为什么你的 sass 是3.2.19.

所以即使你明确地说:

gem 'sass', '~> 3.3.7'

Bundler 不会更新它,因为它认为这bootstrap-sass取决于较低版本的sass.

于 2014-05-27T05:38:56.073 回答