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文件纳入版本管理控制。
     
  • 相关阅读:
    bat 设置 IP, 清除IP
    Java Web 过滤器的典型应用
    Servlet 生命周期
    Java 的四类八种基本类型
    MVC框架实现登陆功能
    Android开发入门(2)创建Android项目
    Android开发入门(1)Android系统简介
    算法导论——排序复习
    eclipse添加maven
    centos编译openjdk
  • 原文地址:https://www.cnblogs.com/highsky/p/5511120.html
Copyright © 2011-2022 走看看