gem to plugin

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,就可以了

你可能感兴趣的:(Ruby,Rails)