Ruby on Rails中的Gemfile和Gemfile.lock有什么区别?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (240)

我是RubyonRails的初学者,我正在使用Rails 3.0.9。

Gemfile和Gemfile.lock之间的区别是?

提问于
用户回答回答于

Gemfile指定要使用哪些gem的位置,指定版本。

Gemfile.lock文件是记录安装的确切版本的地方。这样,当同一库/项目加载到另一台计算机上时,将运行bundle install会看到Gemfile.lock并安装完全相同的版本,而不仅仅是使用Gemfile并安装最新版本。

用户回答回答于

通常,我们将Gemfile中的依赖项写入如下:

gem "nokogiri", "~> 1.4.4"
gem 'bcrypt-ruby', '~> 3.0.0'
gem 'uglifier', '>= 1.2.3'
..

意义?

就像你看到的,如果你没有Gemfile.lock然后:

bundle install

然后当前使用的gem在任何时候都不同。你的应用程序使用了这个版本1.4.4而且很管用。但是现在是1.4.9,你就会冒出一万个错误。

防止这种Gemfile.lock被使用了的问题。将提供一个稳定和通用的部署堆栈。

如何创建Gemfile.lock?

bundle install

如何更新gemfile.lock?

bundle install

这会更新你的Gemfile.lock到最新版本。

扫码关注云+社区