轉載請註明來源:http://www.javashuo.com/article/p-ewmhebmg-w.htmlhtml
咱們能夠在rubygems.org中下載安裝他人建立的gem。如今,咱們嘗試一下本身建立一個gem,而後發佈,供他人使用。api
這裏開始建立一個zhola的gem,主要做用是輸出Hello world。首先建立一個以下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文件目錄下執行命令: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。
首先,須要註冊一個帳號,直接在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進行建立。這個後面有時間在介紹。