Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 指定gem版本还是始终使用最新版本?_Ruby On Rails_Ruby_Gem - Fatal编程技术网

Ruby on rails 指定gem版本还是始终使用最新版本?

Ruby on rails 指定gem版本还是始终使用最新版本?,ruby-on-rails,ruby,gem,Ruby On Rails,Ruby,Gem,我在业余时间编写RoR网络应用程序。像任何人一样(我猜),我使用宝石(大约20颗) 有几次,我在生产环境中部署应用程序时出错,因为我没有为我所有的gems指定确切的版本,所以其中一些gems被更新,导致了bug 我担心我所有的gems都会停留在一个特定的版本中,当我需要更新其中一个(或一些)gems时,整个过程都会崩溃(我在为飞行狮身人面像和twitter制作gems时遇到了问题,无法在更新后一起工作) 我的问题是:一个兼职程序员应该为所有使用的gems版本修复一次,还是值得花时间检查每次更新?

我在业余时间编写RoR网络应用程序。像任何人一样(我猜),我使用宝石(大约20颗)

有几次,我在生产环境中部署应用程序时出错,因为我没有为我所有的gems指定确切的版本,所以其中一些gems被更新,导致了bug

我担心我所有的gems都会停留在一个特定的版本中,当我需要更新其中一个(或一些)gems时,整个过程都会崩溃(我在为飞行狮身人面像和twitter制作gems时遇到了问题,无法在更新后一起工作)

我的问题是:一个兼职程序员应该为所有使用的gems版本修复一次,还是值得花时间检查每次更新?您如何管理您的GEM文件


此外,我认为当你全职工作时,你应该始终保持最新(安全性、性能),但这是真的吗?

我主要坚持这种版本规范:

gem "blah", "~> 1.4.2"
这意味着版本号
=1.4.2
<1.5.0

大多数gem遵循语义版本控制方案,或者至少在执行版本跳转时只中断内容。这样,我是“安全的”,但仍然得到了好的部分(错误修复等)

锁定确切的版本号是
Gemfile.lock
背后的想法,因此我也将此检查到版本控制中。到目前为止,这种方法对我非常有效,我从来没有遇到过这种方法的问题