博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Gem Bundle 入门
阅读量:4041 次
发布时间:2019-05-24

本文共 1435 字,大约阅读时间需要 4 分钟。

Gem Bundle 入门

Bundle 使用

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

关于Gemfile 和 Gemfile.lock

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

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

显示所有的依赖包
Ruby代码 收藏代码

$ bundle show

显示某个Gem包的安装位置

Ruby代码 收藏代码

$ bundle show [gemname]

可以檢查目前缺少哪些 rubygem

Ruby代码 收藏代码

$ bundle check

不缺的话则会输出:The Gemfile’s dependencies are satisfied

如何安装所缺少的RubyGem呢?

Ruby代码 收藏代码

$ bundle install

Ruby代码 收藏代码

$ bundle install [gemname]

如果gems有新版本,Gemfile.lock如何同步更新

Ruby代码 收藏代码

$ bundle update

Ruby代码 收藏代码

$ bundle update [gemname]

这样bundle会去检查 http://rubygems.org/ 上 gem的最新版本,如果本地旧的话,会去更新到最近版本。然后同步更新Gemfile.lock

在Linux下不要使用 sudo bundle install/update,这样会在.bundle目录下查找bundle install path 的配置,找到后安装到该目录,而非系统指定的目录,不方便管理。

如何向项目中添加新的Gem引用?

Add the gem to Gemfile. just like below:

Ruby代码 收藏代码

gem ‘rails’, ’3.0.1′

gem ‘sqlite3-ruby’, :require => ‘sqlite3′
gem “haml”
gem ‘declarative_authorization’
gem ‘uuidtools’

锁定当前环境

使用bundle lock来锁定当前开发环境,这样,便不能通过bundle update来更改本地包的版本,使开发保持在一个稳定的环境中

Ruby代码 收藏代码

$ bundle lock

通过unlock来解除锁定:

Ruby代码 收藏代码

$ bundle unlock

打包当装环境

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

Bundle支持Git安装

使用bundle install 更新

Gem & Plugin的选择

在Rails 2中,开发人员会更便向使用plugin,因为安装、更新的布署都会经常遇到问题,但在 Rails3 中引入了bundle之后,更多的人喜欢使用gem的方式来管理引用。

这样你的本地代码库会很干净,便于理解。也不需要将这些库放到版本控制器中,减少空间 ;)

转载地址:http://tcadi.baihongyu.com/

你可能感兴趣的文章
几个常用的Javascript字符串处理函数 spilt(),join(),substring()和indexof()
查看>>
javascript传参字符串 与引号的嵌套调用
查看>>
swiper插件的的使用
查看>>
layui插件的使用
查看>>
JS牛客网编译环境的使用
查看>>
9、VUE面经
查看>>
关于进制转换的具体实现代码
查看>>
Golang 数据可视化利器 go-echarts ,实际使用
查看>>
mysql 跨机器查询,使用dblink
查看>>
mysql5.6.34 升级到mysql5.7.32
查看>>
dba 常用查询
查看>>
Oracle 异机恢复
查看>>
Oracle 12C DG 搭建(RAC-RAC/RAC-单机)
查看>>
Truncate 表之恢复
查看>>
Oracle DG failover 后恢复
查看>>
mysql 主从同步配置
查看>>
Oracle Database 12c 新特性:RAC Cluster Hub Node 和 Leaf Node
查看>>
Understanding Oracle Flex Clusters
查看>>
Oracle 12.2.0.1 新增的与Oracle数据库性能相关的功能
查看>>
Oracle 12C R2-新特性-多租户:支持本地UNDO模式
查看>>