当我输入
gem list
我看到了
some_gem (1.18)
但是当我检查Gemfile.lock时,我看到了
/Gemfile.lock
some_gem (1.23)
可以解释这种差异吗? Gemfile.lock中的gem版本是权威版吗?
答案 0 :(得分:1)
我从GemBunlder.com Gemfile.lock
Gemfile.lock使您的应用程序成为您自己的代码和上次运行时运行的第三方代码的单个程序包,以确保一切正常。
除此之外,它还指出当您运行bundle install
命令时,bundler将在您的系统存储库中安装gems,这些gems显示在gem list
中。您还可以运行以下命令gem list -r some_Gem
这将检查您的远程其他可用版本some_gem
。另一个有用的命令是bundle exec bundle cleanup
。
<强>更新强>
如果我的解释不够清楚,那么gem list
的目的将详细说明系统中的所有宝石。而Gemfile.lock
中的gem版本是您应用中使用的版本。在您的情况下使用的版本为some_gem(1.2.3)
。但!您system
上安装的版本为some_gem(1.18)
希望这可以澄清事情