博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于bundle install 的一点补充
阅读量:7237 次
发布时间:2019-06-29

本文共 1042 字,大约阅读时间需要 3 分钟。

在第一次运行bundle install之后,生成了Gemfile.lock文件,里面记录gem的具体版本号,按照官方文档说明,以后运行bundle install就不会再依据Gemfile,而是根据lock文件来安装gem,以免在新的机器中安装的版本与lock中不同,导致gem混乱。
实际试验步骤:
1、第一次运行bundle install,lock文件中为 sqlite3 (1.3.11-x86-mingw32)
2、将Gemfile文件中的 gem 'sqlite3'   改为 gem 
'sqlite3' , '1.3.9' ,然后运行bundle install,lock文件中为 sqlite3 (1.3.9-x86-mingw32)
2.1、将gem 
'sqlite3' ,  '1.3.9'改回到gem 
'sqlite3',
运行bundle install,lock文件中为 sqlite3 (1.3.9-x86-mingw32)
2.2、将gem 
'sqlite3' ,  '1.3.9'改回到gem 
'sqlite3'
'1.3.11' ,
运行bundle install,lock文件中为 sqlite3 (1.3.11-x86-mingw32)
2.3、将gem 
'sqlite3' ,  '1.3.9'改回到gem 
'sqlite3'
'>=1.3.9',
运行bundle install,lock文件中为 sqlite3 (1.3.9-x86-mingw32),并没有升级到1.3.11
2.4、将gem 
'sqlite3' ,  '1.3.9'改回到gem 
'sqlite3'
'>=1.3.10' ,
运行bundle install,lock文件中为 sqlite3 (1.3.11-x86-mingw32)
 
结论:
1 可能将Gemfile中不标注具体版本的gem改为具体版本,运行bundle install,会修改lock文件,反过来就不再修改了,另外2.3和2.4的情况很奇怪,不好解释,个人以为2.4不应该更新lock文件
2 最好的实践是在Gemfile中写清具体版本,如果之后需要更改,每次用bundle update XXgem更改一个gem版本,充分测试后再更改第二个gem的版本;一定将lock文件纳入版本管理控制。
 

转载于:https://www.cnblogs.com/highsky/p/5511120.html

你可能感兴趣的文章
(16)Spring Boot使用Druid(编程注入)【从零开始学Spring Boot】
查看>>
DB2
查看>>
泛型方法
查看>>
数组和矩阵问题:数组中子数组的最大累乘积
查看>>
Oracle 安装教程
查看>>
【355】线性代数相关概念
查看>>
【097】Visual Basic基础
查看>>
【110】常见研究方法汇总
查看>>
Java正则表达式应用详解
查看>>
C++闭包: Lambda Functions in C++11
查看>>
oracle 数据库批处理文件
查看>>
android 5.X Toolbar+DrawerLayout实现抽屉菜单
查看>>
POJ 3342 Party at Hali-Bula (树形dp 树的最大独立集 判多解 好题)
查看>>
iOS项目开发实战——学会使用TableView列表控件(四)plist读取与Section显示
查看>>
无法在web服务器上启动调试,调试失败
查看>>
对某***网站的一次快速处理
查看>>
《Android开发案例驱动教程》云端应用整篇下载
查看>>
30分钟zabbix入门——最简单有效的zabbix快速学习法
查看>>
2012年第一篇博文——致谢:2011年中国IT十大杰出博客获奖感言
查看>>
蔡文胜谈美链:BEC没有任何割韭菜的行为
查看>>