`
freebird0221
  • 浏览: 5607 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

bundle 命令

阅读更多

Tasks:
  bundle check        # Checks if the dependencies listed in Gemfile are satisfied by currently installed gems
  bundle exec         # Run the command in context of the bundle
  bundle help [TASK]  # Describe available tasks or one specific task
  bundle init         # Generates a Gemfile into the current working directory
  bundle install      # Install the current environment to the system
  bundle lock         # Locks the bundle to the current set of dependencies, including all child dependencies.
  bundle pack         # Packs all the gems to vendor/cache
  bundle show         # Shows all gems that are part of the bundle.
  bundle unlock       # Unlock the bundle. This allows gem versions to be changed

你只要在你的Gemfile文件里添加你项目所需的gems就可以了。

$> bundle pack
这个命令可以打包你的gems到vendor/cache目录下。然后你把项目给别的开发者,别人就可以使用:
$> bundle install
来安装项目依赖的gems了。

但是当你想把项目部署到生产环境的话,假如gems出现新版本,可能导致项目出现错误,这个时候,我们就需要锁定gem的版本。
$> bundle lock
这个命令会在rails的根目录下生成一个Gemfile.lock文件。类似于这样的:
--- 
dependencies: 
- rails: = 3.0.0.beta
- sqlite3-ruby: ">= 0"
- pg: ">= 0"
specs: 
- text-hyphen: 
    version: 1.0.0
- builder: 
    version: 2.1.2
- i18n: 
    version: 0.3.3

当你在Gemfile文件里增加了一个新的gem,比如“hpricot”你运行:
$> bundle check
You changed your Gemfile after locking. Please relock using `bundle unlock`
想修改Gemfile必须先解锁Gemfile文件:
$> bundle unlock
然后才能修改,修改完再锁定。
$> bundle install
这条命令会自动安装Gemfile里的所有gem。
然后我们再检测:
$>bundle check
The Gemfile's dependencies are satisfied
这就安全了。
然后我们可以打包了:
$> bundle pack
Copying .gem files into vendor/cache
...
打包完以后,锁定我们的gems:
$> bundle lock
这下你就可以安全部署你的app了。

分享到:
评论

相关推荐

    Rails bundle命令安装mysql gem包出错的解决方法

    解决 Rails bundle 安装不上 mysql gem包的问题 环境 ubuntu 12.04 ruby-2.1.1 首先 新建一个的一个项目,在该项目上执行 bundle install 提示 代码如下: … Make sure that gem install mysql2 -v ‘0.3.16’; ...

    VIM Bundle 配置

    在VIM中,"Bundle"指的是用于管理和安装插件的机制,这使得我们可以方便地扩展VIM的功能。下面将详细介绍VIM Bundle配置的相关知识点。 ### VIM Bundle是什么? VIM Bundle是一种组织和管理VIM插件的方式。它允许...

    nexus-2.12.0-01-bundle

    nexus-2.12.0-01-bundle

    adt-bundle JNI NDK 初学者实例

    4. **生成头文件**:使用`ndk-build`命令生成对应的JNI头文件,这将根据Java中的`native`声明自动生成。 5. **编译原生代码**:使用NDK的构建工具(如`make`或`ndk-build`)编译C/C++代码,生成.so动态链接库。 6. *...

    VMware-ovftool-4.3.0-13981069-lin.x86_64.bundle BUNDLE文件

    在Linux环境下,这通常涉及解压缩ZIP文件,然后使用`sudo`命令执行BUNDLE文件来安装。 总结起来,VMware OVF Tool 4.3.0是一个用于处理OVF和OVA格式的重要工具,尤其在虚拟化管理和迁移场景中,它提供了方便且灵活...

    bundle-angular-for-web-worker:打包Angular 1.x以在Web Worker中运行

    执行npm run bundle命令。 这将创建bundle.js文件。 如果有问题,例如没有在benv下找到模块jade ,请进入每个模块( benv , benv/node_modules/rewrite )并执行npm install来安装生产模块。 编辑bundle.js文件 ...

    基于Eclipse的Equinox框架开发OSGi Bundle应用

    在Equinox运行时环境中部署Bundle,可以通过控制台命令或图形界面操作。 5. **运行和调试**:利用Eclipse的调试器,可以方便地对Bundle进行单步调试,查看运行时状态。 **示例应用**:压缩包中的"osgi_example"可能...

    furatto-rails:用于Rails资产管道的Furatto CSS框架

    目录安装宝石您只需要包括furatto你里面的宝石Gemfile : gem 'furatto' 或者您可以从最新版本安装: gem 'furatto' , git : 'git@github.com:IcaliaLabs/furatto-rails.git' 使用bundle命令安装gem: $ bundle 运行...

    nexus-2.14.8-01-bundle.zip

    本文将围绕"Nexus-2.14.8-01-bundle.zip"这个压缩包,详细介绍如何在CentOS系统下搭建和使用Nexus Maven私服。 一、Nexus简介 Nexus是Sonatype公司提供的开源Maven仓库管理系统,它不仅能够作为代理仓库,缓存和...

    前端开源库-typescript2js-bundle

    3. 执行:运行相应的构建命令,库会自动处理TypeScript文件并生成JavaScript包。 4. 集成:将生成的JavaScript文件引入到项目中,享受TypeScript的强类型和代码优化带来的好处。 总之,`typescript2js-bundle`是一...

    ruby 快速开发web项目的教程

    在实际开发中,你将学习如何创建新的Rails项目,安装依赖(使用Gemfile和bundle命令),设置数据库(如SQLite、PostgreSQL或MySQL),编写模型、控制器和视图,以及使用Rails生成器(如`rails generate scaffold`)...

    在检查时保持你bundle的大小

    3. 集成:在你的CI配置文件(如`.travis.yml`或`circleci.config.yml`)中添加一个步骤,运行`bundlesize`命令。 4. 监控:每次提交代码后,CI服务会自动执行这个步骤,如果bundle大小超出限制,构建就会失败。 ...

    doctrine-yuml-bundle:捆绑以在Symfony3中使用yuml可视化教义映射

    在控制台中运行composer require onurb/doctrine-yuml-bundle命令 调整您的参数以个性化config / packages / dev / yuml.yaml中的渲染,或使用以下描述的注释 在config / routes / dev / yuml.yaml中调整路由(如果...

    ubuntu任何目录下运行adb 附adt-bundle-linux-sdk.part1.rar

    ### Ubuntu系统中全局配置ADB命令的方法 在进行Android开发时,ADB(Android Debug Bridge)工具是必不可少的一部分。它提供了一套命令集,用于与Android模拟器或连接到计算机的Android设备进行通信。对于Ubuntu...

    Python库 | colcon-bundle-0.1.2.tar.gz

    通过`pip`(Python的包管理器)可以安装这个库,命令通常是`pip install colcon-bundle`。 2. **ROS(Robot Operating System)** ROS是一个开源操作系统,专为机器人设备和软件设计。它提供了各种服务,如消息...

    postgres-copy:ActiveRecord模型中的简单PostgreSQLCOPY命令支持

    运行bundle命令 bundle 有关最新版本的重要说明 Rails 4用户应使用0.7及更高版本,而如果使用Rails 3.2,则应使用0.6版本。 从0.8版开始,所有方法都失去前缀pg_,并且应将它们包含在模型thourgh ac

    nexus-2.11.2-03-bundle.tar.gz

    然后使用`tar -zxvf nexus-2.11.2-03-bundle.tar.gz`命令将其解压。这将会创建一个名为“nexus-2.11.2-03”的目录。 2. **选择安装位置**:考虑将解压后的目录移动到一个合适的地方,如`/opt/nexus`,这样可以方便...

    bundle vim package

    "bundle vim package" 是一个关于 Vim 编辑器的打包集合,主要针对程序员和开发者,提供了优化和增强 Vim 功能的各类插件和配置。Vim 是一款强大的文本编辑器,具有高度可定制性和高效性,深受技术社区的喜爱。...

    awscli-bundle.zip

    "awscli-bundle.zip" 文件包含了在Mac操作系统上运行AWS CLI所需的全部组件。 首先,安装AWS CLI通常涉及以下几个步骤: 1. 下载:用户需要下载"awscli-bundle.zip"这个压缩包,然后解压到本地。 2. 安装Python:...

Global site tag (gtag.js) - Google Analytics