gem to plugin

本文介绍了一种在Ruby on Rails项目中管理和冻结特定版本Gem的方法,通过使用gemsonrails插件,开发者可以轻松地将所需的Gem及其版本固化在项目中,减少部署时因Gem版本不一致带来的问题。
ruby on rails 爱好者,你们好。
当你使用gem开发了某些产品时,你的机器必须首先安装这些gem,然后当你发布产品的时候,也需要给生产机安装这些gem,如果你忘了,客户会被吓到...

因此,大量的使用gem会导致应用的环境依赖过于强烈。
如果你的应用依赖于具体的rails版本,则你需要在你的项目根目录
~/code/demo>rake rails:freeze:edge TAG=rel_2-0-1
来锁定你要使用的rails版本

除此之外,如果用了其它的gem咋办?
这里,你需要安装个微型的gem, 这个gem可以使你方便的把各种gem freeze或者link进入你的rails工程.
~/code/demo>sudo gem install gemsonrails --no-ri --no-RDoc
然后;
~/code/demo>gemsonrails 这句会在该项目内安装gemsonrails plugin
然后这个gemsonrails plugin有3种用法
rake gems:freeze GEM=gem_to_freeze
rake gems:link GEM=gem_to_link
rake gems:unfreeze GEM = gem_to_unfreeze_or_unlink

执行后,gems会被放在vendor/gems并且可以自动加载这个路径到LOAD_PATH

如果目标gem没有init.rb,需要自己建立init.rb。

这一切都搞定之后,你可以放心的删除自己机器的gems了.

以后在用这些gem,到已有(曾经rake gems:freeze)的项目中去copy,就可以了
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值