RubyGems系列之建立本身的gem

转载请注明来源:http://www.javashuo.com/article/p-ewmhebmg-w.htmlhtml

一. 前言

咱们能够在rubygems.org中下载安装他人建立的gem。如今,咱们尝试一下本身建立一个gem,而后发布,供他人使用。api

二. 制做gem

这里开始建立一个zhola的gem,主要做用是输出Hello world。首先建立一个以下tree的文件夹:
tree
建立完成以后,在zhola.rb中填写以下代码:ruby

class Zhola
    def self.hi
        puts "Hello world!"
    end
end

而后设置一下gemspec文件:curl

Gem::Specification.new do |s|
    s.name          = 'zhola'
    s.version       = '0.0.1'
    s.date          = '2018-09-28'
    s.summary       = 'Zhanggui first gem'
    s.description   = '第一次建立gem文件'
    s.authors       = ["Zhanggui"]
    s.email         = 'scottzg@126.com'
    s.files         = ["lib/zhola.rb"]
    s.homepage      = 'http://rubygems.org/gems/zhola'
    s.license       = 'MIT'
end

这里的homepage为即将发布到的page。
而后在当前文件夹下执行build命令:测试

gem build zhola.gemspec

执行成功的结果为:ui

Successfully built RubyGem
  Name: zhola
  Version: 0.0.1
  File: zhola-0.0.1.gem

执行成功以后,便会在文件夹中建立zhola-0.0.1.gem文件。此时gem制做成功。url

三. 安装建立的gem

在刚刚建立的gem文件目录下执行命令:code

gem install ./zhola-0.0.1.gem

输出的结果为:htm

Successfully installed zhola-0.0.1
Parsing documentation for zhola-0.0.1
Done installing documentation for zhola after 0 seconds
1 gem installed

经过上述命令将刚才建立的gem安装到本机。blog

四. 查看是否安装成功

打开终端,而后使用irb命令进行测试:

zhola irb --simple-prompt --noecho
>> require "zhola"
>> Zhola.hi
Hello world!
>>

当终端输出Hello world!,说明已经能够正常使用刚才建立的gem。

五. 将gem发布到Rubygems.org

首先,须要注册一个帐号,直接在https://rubygems.org/ 注册便可,而后打开终端,在终端输入:

curl -u ***** https://rubygems.org/api/v1/api_key.yaml  # ***** 为你的用户名

紧接着输入密码,回车以后便会获得一个api_key。
接着在gem文件夹中输入下面的指令:

gem push zhola-0.0.1.gem   # push后面为生成的gem名称

push成功以后终端显示:

Pushing gem to https://rubygems.org...
Successfully registered gem: zhola (0.0.1)

此时说明已经发布到rubygems成功,其余人直接使用:

gem install zhola

便可使用刚才发布的gem。 该gem的homepage为:https://rubygems.org/gems/zhola 。

六. 总结

至此,咱们就已经发布了一个gem到rubygems。若是以为上面的这种方式比较麻烦,须要建立文件夹、建立gemspec等等,也能够直接使用bundle进行建立。这个后面有时间在介绍。

相关文章
相关标签/搜索