Rubygems学习

浏览:936 发布日期:2016-01-17 03:55:42

Rubygems学习

rubygems是一个ruby包管理工具。

  • rubygems通过在ruby的$LOADPATH的目录中添加rubygems.rb文件,并在这个目录中添加了rubytems要用的模块与文件,在1.9之前的版本,要引用一个gem包,需要先require 'rubygems', require 'gemname ..'(或gem 'gem_name ..')。

    require 'rubygems'

    gem 'gem_name ..'

  • 如果目标电脑上没有安装rubygems,那么上面的代码会报错抛出LoadError异常,可以捕获这个异常,执行代码。

创建自己的Gem

  • 一个gem包包含一组文件,通常代码放在lib目录中,通常约定lib目录中包含一个和项目同名的rb文件。

  • 可执行文件放在bin目录

  • test目录放置单元测试文件

  • 需要一个Rdoc格式的Readme文件放置在根目录

  • 需要一个和项目同名的gemspec文件

首先在根目录创建gemspec文件,例如:
require 'rubygems'
SPEC = Gem::Specification.new do |s|
    s.name = "BysxiangLog"
    s.version = "0.0.1"
    s.author = "bysxiang"
    s.email = "bysxrokr@qq.com"
    s.homepage = "http://www.bysxiang.com"
    s.platform = Gem::Platform::RUBY
    s.summary = "BysxiangLog!"
    s.description = "边缘随想在线日记"

    s.require_path = "lib"
    #s.test_file = "test/ts_bysxiang.rb"
    s.has_rdoc = true
    s.extra_rdoc_files = ["README"]
    s.files = ["lib/bysxianglog.rb"]

end
  • name, version, author, email是这个gem包的一些基本信息,s.platform指定平台,files指定包括的文件,

  • 调用gem build gemname.gemspec来生成gem包。

  • 调用gem install gemname.gem来安装gem包。

  • 调用gem push gemname.gem来发布gem,输入账号、密码即可。