當我第一次在項目的Gemfile
中添加一個gem,但是之前在另一個項目上安裝了gem時,它使用現有版本的寶石,而不是最新版本的寶石可用。如何安裝gemfile.lock中未提及的最新版本的gemfile.lock
例如,使用捆綁版本1.11.2,我添加gem 'rubocop'
到項目的Gemfile
和運行bundle install
使用RuboCop版本0.42.0,而不是0.44目前(截至2016年10月21日)的版本導致了它。 1:
rubocop (0.42.0)
parser (>= 2.3.1.1, < 3.0)
powerpack (~> 0.1)
rainbow (>= 1.99.1, < 3.0)
ruby-progressbar (~> 1.7)
unicode-display_width (~> 1.0, >= 1.0.1)
運行bundle update rubocop
導致0.44.1版本被使用,而無需他們的版本更改的任何預先存在的寶石。這表明從使用RuboCop 0.44.1版本購買我沒有任何限制。
rubocop (0.44.1)
parser (>= 2.3.1.1, < 3.0)
powerpack (~> 0.1)
rainbow (>= 1.99.1, < 3.0)
ruby-progressbar (~> 1.7)
unicode-display_width (~> 1.0, >= 1.0.1)
當運行bundle install
,我怎麼能告訴它,對於未在Gemfile.lock
提到寶石,下載寶石的最新兼容版本,而不是使用這恰好是可在舊版本本地機器?
我試着看着http://bundler.io/v1.13/man/bundle-install.1.html,但沒有看到任何相關的東西。
你是什麼意思「在lockfile中沒有提到」?如果它不在lockfile中,那麼它不是gemfile中的gem或它們的一個依賴項,因此bundle與它無關。 –
@SergioTulentsev當我剛剛爲gemfile添加了一個gem,並且還沒有運行'bundle install',它會在'Gemfile.lock'中列出gem。 –
您確定bundler不安裝最新版本?我認爲它確實如此。 –