RubyGems系列之建立自己的gem
轉載請註明來源: ofollow,noindex" target="_blank">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進行建立。這個後面有時間在介紹。