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進行建立。這個後面有時間在介紹。

相關文章
相關標籤/搜索