如何编写RubyGems

目标:通过本文章学习并编写一个gem 'hello'

一、认识RubyGems

1、什么是RubyGems

RubyGems是ruby下的包管理系统。最著名gem的当属Rails

2、gem的基本文件布局

文件名类别描述
gemspec文件gem的规范说明。
lib文件夹用于lib文件的存放
bin文件夹可执行文件
ext文件夹c/c++源文件
tests文件夹单元测试文件

3、gemspec文件规范常用项

名称类别缺省描述
nameStringgem名称
*versionString版本号
*dateTimeTime.nowGem创建日期
*platformStringGem::Platform::Rubygems所使用的平台
*summaryStringgem描述
*require_pathsArray["lib"]用于require调用时的默认路径
filesArraygems所包含的文件
以上为关键的几个选项,其中打*号的为'''必须'''的项,若要添加作者,可执行文件等选项可参见Gem规范

4、编译

gem build gemspec文件

5、安装

gem install 生成的gem

二、编写最简gem hello

1、创建文件与文件夹

hello/hello.gemspec
hello/lib/hello.rb

2、编写 hello.gemspec

Gem::Specification.new do |s|
	s.name = 'hello'
	s.version = '0.1.0'
	s.summary = 'hello gems'
	s.files = ["lib/hello.rb"]
end

3、编写 lib/hello.rb

def hello
	"HELLO"
end

4、编译

gem build hello.gemspec

5、安装

gem install hello

6、测试

require 'rubygems'
require 'hello'
puts hello
----
输出HELLO 测试成功

三、相关链接

1、RubyGems官方网站
2、Rubyforge
2、Gem规范
3、本文的hello gem源码

发表评论

电子邮件地址不会被公开。 必填项已被标记为 *

*

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>