RubyGems系列之建立自己的gem
阿新 • • 發佈:2018-12-12
轉載請註明來源:https://www.cnblogs.com/zhanggui/p/9720818.html
一. 前言
我們可以用rubygems.org中下載安裝他人建立的gem。現在,我們嘗試一下自己建立一個gem,然後釋出,供他人使用。
二. 製作gem
這裡開始建立一個zhola的gem,主要作用是輸出Hello world。首先建立一個如下tree的資料夾: 建立完成之後,在zhola.rb中填寫如下程式碼:
class Zhola
def self.hi
puts "Hello world!"
end
end
然後設定一下gemspec檔案:
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 = ' [email protected]'
s.files = ["lib/zhola.rb"]
s.homepage = 'http://rubygems.org/gems/zhola'
s.license = 'MIT'
end
這裡的homepage為即將釋出到的page。 然後在當前資料夾下執行build命令:
gem build zhola.gemspec
執行成功的結果為:
Successfully built RubyGem Name: zhola Version: 0.0.1 File: zhola-0.0.1.gem
執行成功之後,便會在資料夾中建立zhola-0.0.1.gem檔案。此時gem製作成功。
三. 安裝建立的gem
在剛剛建立的gem檔案目錄下執行命令:
gem install ./zhola-0.0.1.gem
輸出的結果為:
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安裝到本機。
四. 檢視是否安裝成功
開啟終端,然後使用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進行建立。這個後面有時間在介紹。