RubyGems系列之創建自己的gem


轉載請注明來源:https://www.cnblogs.com/zhanggui/p/9720818.html

一. 前言

我們可以在rubygems.org中下載安裝他人創建的gem。現在,我們嘗試一下自己創建一個gem,然后發布,供他人使用。

二. 制作gem

這里開始創建一個zhola的gem,主要作用是輸出Hello world。首先創建一個如下tree的文件夾:
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         = '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

執行成功的結果為:

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM