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.0および3.1.1.1) には次の依存関係があります。

sass ~> 3.2

3.2.xこれが意味することは、それらは の最新バージョンを必要とするがsass3.3. それが~>意味することであり、それがあなたのサスが3.2.19.

したがって、明示的に次のように言っても:

gem 'sass', '~> 3.3.7'

bootstrap-sassの下位バージョンに依存していると見なされるため、Bundler はそれを更新しませんsass

于 2014-05-27T05:38:56.073 に答える