在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)
答案 0 :(得分:1)
如您所述,bootstrap-sass
个版本(3.0.3.0
和3.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
。