RUBY GEM如何打包

 RubyGems是一个库和程序的标准化打包以及安装框架,它使定位、安装、升级和卸载Ruby包变的很容易。rails以及它的大部分插件都是以gem形式发布的。下面简单描述创建ruby Gems的过程的可行性。

 第一步,写Gems规范文件

 如:编写xx..gemspec 

require 'rubygems'  

SPEC=Gem::Specification.new do |s|  

 s.name="Stack"  

s.version='0.01'  

s.author='dennis zane'  

s.email="[email protected]"  

s.homepage="http://www.rubyeye.net"  

s.platform=Gem::Platform::RUBY  

s.summary="xxx "  

condidates =Dir.glob("{bin,lib,docs,test}/**/*") //要打包的文件s.files=condidates.delete_if do |item|  

item.include?("CVS")|| item.include?("rdoc")  

end  

s.require_path="lib"   

s.autorequire='stack,stacklike'  

s.test_file="test/ts_stack.rb"  

s.has_rdoc=false  

s.extra_rdoc_files=["README"]  

end    

规范文件也是ruby程序(也可以用YAML描述),设置了这个gem的主要关键信息:名称、作者信息、平台,下面的files 数组过滤掉了cvsrdoc文件,require_pathauto_require让你指定了require_gem装入gem时会被添加到$LOAS_PATHruby查找库的路径)中的目录(也就是我们源代码存放的lib),auto_require指定了装载的文件名,如果没有 rdoc,则设置has_rdocfalse,附带文档就是README

 

第二步:添加测试和文档(非必要)

第三步:生成gem

        gem build xx..gemspec 

 

将生成一个gem文件,将这个文件共享只要下载这个文件,执行:

gem install xx.0.01.gem  

 

 

 

 

 

 

 

 

 

09-04 07:16