zoukankan      html  css  js  c++  java
  • Ruby bundle命令详解

    引用原文链接:http://hi.baidu.com/mcspring/item/c0aab0dee615b5de251f40bc

     

    Bundle介绍:

    Rails 3中引入Bundle来管理项目中所有gem依赖,该命令只能在一个含有Gemfile的目录下执行,如rails 3项目的根目录。

    关于Gemfile和Gemfile.lock

    所有Ruby项目的信赖包都在Gemfile中进行配置,不再像以往那样,通过require来查找。Rails 3中如果需要require某个gem包,必须通过修改Gemfile文件来管理。

    Gemfile.lock则用来记录本机目前所有依赖的Ruby Gems及其版本。所以强烈建议将该文件放入版本控制器,从而保证大家基于同一环境下工作。

    Bundle命令详解:

     

    # 显示所有的依赖包
    $ bundle show

    # 显示指定gem包的安装位置
    $ bundle show [gemname]

    # 检查系统中缺少那些项目以来的gem包
    # 注:如果系统中存在所有项目以来的包,则会输出:The Gemfile's dependencies are satisfied
    $ bundle check

    # 安装项目依赖的所有gem包
    # 注:此命令会尝试更新系统中已存在的gem包
    $ bundle install

    # 安装指定的gem包
    $ bundle install [gemname]

    # 更新系统中存在的项目依赖包,并同时更新项目Gemfile.lock文件
    $ bundle update

    # 更新系统中指定的gem包信息,并同时更新项目Gemfile.lock中指定的包信息
    $ bundle update [gemname]

    # 向项目中添加新的gem包引用
    $ gem [gemname], [ver]

    # 你还可以指定包依赖关系
    $ gem [gemname], :require => [dependence_gemname]

    # 你甚至还可以指定gem包的git源
    $ gem [gemname], :git => [git_source_url]

    # 锁定当前环境
    # 可以使用bundle lock来锁定当前环境,这样便不能通过bundle update来更新依赖包的版本,保证了统一的环境
    $ bundle lock

    # 解除锁定
    $ bundle unlock

    # 打包当装环境
    # bundle package会把当前所有信赖的包都放到 ./vendor/cache/ 目录下,发布时可用来保证包版本的一致性。
    $ bundle package

  • 相关阅读:
    搭建Go调试环境(LiteIDE)
    golang编译工具LiteIDE的调试使用方法(F5)
    Golang并发模型:轻松入门流水线FAN模式
    Golang并发中channel的分析
    需求设计说明书的重要性
    Chrome开发者工具详解-Elements、Console、Sources面板
    Chrome开发者工具详解(5)-Application、Security、Audits面板
    bzoj1216: [HNOI2003]操作系统
    bzoj1150: [CTSC2007]数据备份Backup
    bzoj1059: [ZJOI2007]矩阵游戏
  • 原文地址:https://www.cnblogs.com/dami520/p/2589913.html
Copyright © 2011-2022 走看看