zoukankan      html  css  js  c++  java
  • 关于bundle install 的一点补充

    在第一次运行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文件纳入版本管理控制。
     
  • 相关阅读:
    Python3安装turtle提示错误:Command "python setup.py egg_info" failed with error code 1
    慕学生鲜xadmin登录不成功解决办法
    mysql删除后ID不连续解决办法
    Mac 安装gevent
    ubuntu 下 docker的简单使用
    python 字典的一些简单操作
    列表推导式
    Serializer字段和选项
    添加包解决一些导包问题
    css 文本换行,文本空白符处理相关 属性:white-space word-wrap word-break
  • 原文地址:https://www.cnblogs.com/highsky/p/5511120.html
Copyright © 2011-2022 走看看