`
daigong
  • 浏览: 116788 次
  • 性别: Icon_minigender_1
  • 来自: 沈阳
社区版块
存档分类
最新评论

Rails bundler使用

阅读更多
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://blackanger.blog.51cto.com/140924/355320
--转载请注明出处

Rails3里多了个Bundler工具。
它是一个Library管理工具,它提供了好的工具来管理你rails3项目依赖的gems。
$> bundle
这个命令会列出bundler提供给你的一些工具。
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了。

gem的写法可以具体参照:http://github.com/carlhuda/bundler
Bundler官网:http://gembundler.com
本文出自 “{ :Alex Space => &..” 博客,请务必保留此出处http://blackanger.blog.51cto.com/140924/355320
分享到:
评论

相关推荐

    npm-rails, 通过像DSL这样的Bundler支持 Rails的NPM.zip

    npm-rails, 通过像DSL这样的Bundler支持 Rails的NPM npm Rails 项目的NPM支持。 它允许你使用bundler像DSL和rake任务来包括npm包。 这个基于Browserify的gem,用于捆绑包和解析依赖关系。安装将此行添加到你的应用...

    ruby on rails轻松使用

    以上只是Ruby on Rails众多特性和概念的一部分,实际使用中,开发者还会遇到如控制器的before_action、after_action,模型的validations,视图的局部变量,以及各种gem的使用等等。学习和熟练掌握Ruby on Rails,...

    最新版bundler,windows下可运行

    6. **使用Bundler启动应用**:在开发过程中,可以使用`bundle exec`来运行项目,例如`bundle exec rails server`,这样可以确保使用的是Gemfile指定的版本,避免版本冲突。 7. **调试**:在VS2013中,可以设置Ruby...

    rails指南 中文版

    5. **Gemfile与Bundler**:Rails项目通常使用Gemfile来管理依赖库,Bundler工具则用于安装和管理这些依赖,确保在不同环境下项目的运行一致性。 6. **Scaffolding**:Rails提供了快速生成基本CRUD(Create, Read, ...

    bundler源代码

    Gemfile中,用户可以使用`gem`方法指定gem和版本,如`gem 'rails', '>= 3.0.0'`。此外,`source`指令用于指定gem的来源,`group`用于分组依赖,`platforms`则允许针对不同平台设定特定的依赖。 四、环境隔离 ...

    Rails

    标签 "工具" 可能意味着讨论到了与Rails开发相关的工具,如集成开发环境(IDEs)、包管理器(如Bundler)、测试框架(如RSpec和Capybara)、调试工具等,这些工具能提升开发效率和代码质量。 压缩包子文件的文件...

    ruby on rails(开发文档)

    10. **Gemfile和依赖管理**:Rails使用Bundler来管理项目依赖,Gemfile列出所有必要的gem(Ruby库),Bundler负责安装和更新它们。 11. **Asset Pipeline**:Rails的资产管道处理CSS、JavaScript和图像等静态资源,...

    Rails相关电子书汇总

    7. **Gemfile和Bundler**:Rails项目通过Gemfile管理依赖,Bundler工具确保在开发环境中安装正确的gem版本。 8. **ActiveSupport**:包含许多实用的工具类和模块,如时间戳处理、字符串处理等,它们被广泛地应用于...

    rails-assets, 在 Rails 中,资产管理的解决.zip

    rails-assets, 在 Rails 中,资产管理的解决 Rails 资产 Bundler 到 Bower 代理本自述文件涉及项目的开发方面。 访问站点了解如何在你的应用程序中使用 Rails 资产。 插件开发设置git clone git@github.com:tenex/r

    bundler 编译文件

    在Ruby on Rails和其他Ruby应用程序中,`bundler` 是一个必不可少的组件,确保了开发环境与生产环境的一致性。 在您提供的压缩包文件中,我们可以看到多个文件和目录,这些都与`bundler`的编译和理解过程密切相关。...

    rails 离线安装包

    12. **Gemfile和Bundler**:`Gemfile`用于定义应用所需的Gem依赖,使用Bundler管理这些依赖,确保环境一致性。 离线安装Rails的方式对于那些在隔离环境中工作或在网络条件不佳的开发者来说非常有用。尽管离线安装...

    rails-4.2.0-gems

    3. 克隆或下载Rails 4.2.0项目的源代码,或者创建一个新的Rails项目,使用`rails new my_app -d sqlite3`命令,其中`my_app`是你的应用名,`-d sqlite3`指定使用SQLite数据库。 4. 进入项目目录,运行`bundle ...

    rails 的安装

    "rails_gems" 这个文件名可能指的是Rails项目中使用的Gem包。在`Gemfile`中,你可以列出项目所需的所有外部库或服务,然后通过运行 `bundle install` 来安装它们。这将确保所有依赖都处于正确的版本并能正常工作。 ...

    The Rails 4 Way

    - **Bundler**:Bundler是Rails项目中用来管理依赖库的工具。它确保项目能够一致地运行在不同的环境中,并且可以轻松地添加或移除依赖库。 - **启动和应用设置**:这部分介绍如何配置Rails项目的启动过程以及如何...

    ruby on rails最新版

    使用Ruby on Rails最新版进行开发,开发者不仅可以享受到高效的开发流程,还能通过强大的社区支持和丰富的第三方库(如Gem)扩展其功能。例如,Devise用于用户认证,CanCanCan用于授权管理,Paperclip或Carrierwave...

    Ruby on Rails实践

    总的来说,Ruby on Rails实践涉及的知识点包括但不限于:Ruby语言基础、Rails框架结构、MVC模式、ActiveRecord、路由、测试驱动开发、插件和gem使用、以及部署策略。通过学习和实践,开发者能够快速构建功能丰富的...

    Ruby on Rails入门经典代码

    - Bundler:管理Gem依赖,确保项目依赖的一致性。 - Rails Console:交互式的命令行环境,用于调试和测试代码。 - Rails Server:启动本地开发服务器。 7. **Rails最佳实践**: - RESTful设计:遵循HTTP动词...

    Ruby on Rails入门经典

    8. **Gem和依赖管理**:Ruby使用Gem来管理库和插件,Bundler则用于管理项目所依赖的Gem版本,确保环境的一致性。 9. **部署和服务器**:学习如何将Rails应用部署到像Heroku或DigitalOcean这样的云平台,以及如何...

    Ruby on Rails中文指南

    学习Ruby on Rails的过程中,你还需要了解Gemfile和Bundler用于管理依赖,以及Git和GitHub用于版本控制和协作。此外,掌握一些前端开发技术,如HTML、CSS、JavaScript和jQuery,将有助于创建更丰富的用户界面。Rails...

Global site tag (gtag.js) - Google Analytics