国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院

首頁(yè) > 編程 > Ruby > 正文

創(chuàng)建自定義的Ruby gem包的方法

2020-02-24 15:37:32
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

安裝gem包時(shí)ruby.html" target="_blank">ruby使用的默認(rèn)源代碼是rubygems。由于國(guó)內(nèi)的網(wǎng)絡(luò),使用Ruby的gem安裝各種軟件包基本上是失敗的,本文為大家推薦創(chuàng)建自定義的Ruby gem包的方法,希望對(duì)你有幫助!

編寫(xiě)一個(gè)最簡(jiǎn)單的例子

1. 建好如下文件夾

注意:lib目錄下必須有個(gè)和你gem名字一樣的rb文件。

?

復(fù)制代碼 代碼如下:

??? $ cd hola?
??? $ tree?
??? .?
??? ├── hola.gemspec?
??? └── lib?
??????? └── hola.rb?

?


2. 編寫(xiě)代碼

. hola.rb

  % cat lib/hola.rb   class Hola    def self.hi     puts "Hello world!"    end   end 

?


.hola.gemspec

  % cat hola.gemspec   Gem::Specification.new do |s|    s.name    = 'hola'    s.version   = '0.0.0'    s.date    = '2010-04-28'    s.summary   = "Hola!"    s.description = "A simple hello world gem"    s.authors   = ["Nick Quaranto"]    s.email    = 'nick@quaran.to'    s.files    = ["lib/hola.rb"]    s.homepage  =     'http://rubygems.org/gems/hola'   end 

?

這里面可以設(shè)置很多屬性。我會(huì)專門(mén)寫(xiě)篇文章介紹。

上面字段的意思,比較簡(jiǎn)單。相信大家都能理解。


3.編譯生成gem

  % gem build hola.gemspec   Successfully built RubyGem   Name: hola   Version: 0.0.0   File: hola-0.0.0.gem      % gem install ./hola-0.0.0.gem   Successfully installed hola-0.0.0   1 gem installed 

?


4.測(cè)試使用

  % irb   >> require 'hola'   => true   >> Hola.hi   Hello world! 

?

注意:在ruby 1.9.2之前到版本里面,需要先require 'rubygem',才能使用我們寫(xiě)的gem.


5.發(fā)布到rubygems網(wǎng)站

  $ curl -u tom https://rubygems.org/api/v1/api_key.yaml >   ~/.gem/credentials   Enter host password for user 'tom': 

?

設(shè)定完之后發(fā)布

  % gem push hola-0.0.0.gem   Pushing gem to RubyGems.org...   Successfully registered gem: hola (0.0.0) 

?

發(fā)布成功。

這樣任何一個(gè)人都可以使用你寫(xiě)的gem了。


稍微復(fù)雜的rubygem例子

上面的例子只有一個(gè)ruby文件,一般gem應(yīng)該沒(méi)有這么簡(jiǎn)單的。

下面說(shuō)下有多個(gè)ruby文件該怎么寫(xiě)。

1. 目錄結(jié)構(gòu)

多了個(gè)hola目錄和translator.rb文件

  % tree   .   ├── hola.gemspec   └── lib     ├── hola     │  └── translator.rb     └── hola.rb 

?

2. 代碼

lib/hola/translator.rb

  % cat lib/hola/translator.rb   class Hola::Translator    def initialize(language)     @language = language    end       def hi     case @language     when :spanish      "hola mundo"     else      "hello world"     end    end   end 

?

lib/hola.rb

  % cat lib/hola.rb   class Hola    def self.hi(language = :english)     translator = Translator.new(language)     translator.hi    end   end      require 'hola/translator' 

?

.hola.gemspec

  % cat hola.gemspec   Gem::Specification.new do |s|    s.name    = 'hola'    s.version   = '0.0.0'    s.date    = '2010-04-28'    s.summary   = "Hola!"    s.description = "A simple hello world gem"    s.authors   = ["Nick Quaranto"]    s.email    = 'nick@quaran.to'    s.files    = ["lib/hola.rb", "lib/hola/translator.rb"]    s.homepage  =     'http://rubygems.org/gems/hola'   end 

紅色是和上面不一樣的地方。


其他步驟和上面一樣了。很簡(jiǎn)單吧!


最后說(shuō)下怎么寫(xiě)個(gè) gem包含可執(zhí)行文件的例子。

這個(gè)也很簡(jiǎn)單。像rake就是典型的包含可執(zhí)行文件的gem.

1. 在剛才工程目錄下建個(gè)bin文件夾

生成可執(zhí)行文件,并且修改權(quán)限為可運(yùn)行。

  % mkdir bin   % touch bin/hola   % chmod a+x bin/hola 

?


2. 修改可執(zhí)行文件內(nèi)容
bin/hola

  #!/usr/bin/env ruby      require 'hola'   puts Hola.hi(ARGV[0]) 


測(cè)試下

  % ruby -Ilib ./bin/hola   hello world      % ruby -Ilib ./bin/hola spanish   hola mundo 


3 .最后修改gemspec

  % head -4 hola.gemspec   Gem::Specification.new do |s|    s.name    = 'hola'    s.version   = '0.0.1'    s.executables << 'hola' 

大家閱讀完上文的介紹,是不是對(duì)創(chuàng)建自定義的Ruby gem包的方法都有了了解了?想學(xué)習(xí)更多這方面的知識(shí),可以將武林技術(shù)頻道收藏起來(lái)喲!?

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表

圖片精選

国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院
亚洲精品aaaa精品| 黄色av网址在线免费观看| 国产在线小视频| 黄网站app在线观看下载视频大全官网| 97最新国自产拍视频在线完整在线看 | 亚洲天堂久久久| 午夜羞羞小视频在线观看| 思思99精品视频在线观看| 好男人免费精品视频| 国产高清免费视频| 任你操在线观看| 国产成人午夜| 国产精品作爱| www.操.com| 91视频黄色| 最近中文字幕大全中文字幕免费| 国产黄大片在线观看画质优化| 亚洲人成电影| 中文字幕国产视频| 亚洲视频在线观看不卡| 中文字幕中文字幕在线中高清免费版 | 九九热视频在线观看| 国产黄色免费在线观看| 小说区乱图片区| 天天操天天射天天插| av免费在线一区二区三区| 国产主播福利在线| 免费a级毛片在线播放| 国产一级在线观看| 国产在线视频福利| 尤物在线精品视频| 尤物视频在线观看视频| 国产va在线观看| 国产视频福利| 国产一级免费在线观看| 九九热在线免费视频| www.狠狠| 超碰免费在线播放| 黄色毛片在线看| 国产在线一二三| 二区三区中文字幕| 免费在线观看a| 欧美性猛交xxxx免费看蜜桃| 在线播放www| 亚洲精品午夜级久久久久| 在线天堂中文| 四虎国产精品永久地址998| av在线你懂的| 国产免费专区| 国产精品久久久精品a级小说| 国产女主播在线观看| 精品一区二区三区高清免费不卡| 国产白浆在线| a视频在线播放| 久久久久久久久久久久网站| 噜噜噜噜噜在线视频| 久热国产在线| 1区不卡电影| 国产二级c片l毛片| 午夜性爽视频男人的天堂| 麻豆国产视频| 69视频在线| 麻豆视频在线观看免费网站 | 国产精品666| 在线看黄色av| 好男人免费精品视频| 91麻豆福利| 国产在线高清理伦片a| 国产午夜电影| 全网国产福利在线播放| 国产高清大尺度一区二区不卡| 四虎a级欧美在线观看| 久热精品视频在线播放| 国产精品免费视频一区一| 天堂网中文在线| 国产一区二区三区不卡免费观看 | 精品176二区| 六月天色婷婷| 在线天堂av| 国产日韩欧美精品一区二区三区 | 在线观看中文字幕一区| 天堂中文字幕在线| gogo高清在线播放免费| 国产黄在线观看| 五月婷婷视频在线观看| 免费看av大片| 亚洲成人av在线影院| 91麻豆精品国产91久久| 最近中文字幕mv免费高清电影 | 青青草视频免费在线观看| 国产福利在线播放麻豆| √天堂中文在线| 黄色av网站在线| 在线看a视频| 69视频在线| 91中文字幕网| 国产精品69xx| 国产国产人免费人成免费视频| 午夜视频在线| 国产无遮挡在线视频免费观看| 黄色免费av| 欧美午夜电影一区二区三区| 全网国产福利在线播放| 看成年女人免费午夜视频| www中文字幕在线观看| 天天干天天摸| 超碰免费在线| 国产一级在线观看www色| 高清在线观看av| 国产九色在线| 国产激情视频一区二区三区| 国产日产一区二区| 亚洲精品少妇久久久久久| 日本调教视频在线观看| 久热精品免费视频| 天堂在线免费观看| 国产丝袜自拍| 一区二区免费播放| 麻豆国产在线播放| 国产一级激情| 亚洲精品天堂在线| 国产在线超碰| 在线观看免费观看在线91| 日本三级视频网站| 中文字幕在线永久在线视频| 国产91久久久久蜜臀青青天草二| 在线激情网站| 天堂资源中文在线| av中文字幕在线看| 国产高清免费av在线| www.xxx黄| 国产激情在线| 狠狠操五月天| 在线观看的网站你懂的| 日韩av成人| 免费黄网站在线观看| 国产传媒在线播放| 国产精品一区二三区| 永久免费av网站| 国产无套粉嫩白浆在线2022年 | 国产中文字幕在线视频| 精品久久九九| 国产探花视频在线观看| 欧美成人精品福利网站| 精品国产高清自在线一区二区三区| 欧美高清视频| 亚洲电影先锋| 国产二区视频| 国产网红在线| 自拍亚洲国产| 黄色一级片视频| 四虎a级欧美在线观看| 国产黄色免费| 国产成人精品自线拍| 国产精品久久久久久福利| 国产麻豆高清视频在线第一页| 日本免费黄色| sm国产在线调教视频| eeuss影院www在线播放| 亚洲一本大道| 先锋av资源网| 亚洲综合激情六月婷婷在线观看| 97一区二区三区| 69日小视频在线观看| 精品国产白色丝袜高跟鞋| 精品入口蜜桃| 色吊丝av中文字幕| 日本啊v在线| 成人欧美精品久久久久影院| 国产中文在线| 国产一级又黄| 在线观看的网站你懂的| 欧美人成在线观看网站高清| 欧美日韩在线中文字幕| 黄色av电影在线播放| 最近免费中文字幕大全免费第三页 | 91超碰在线免费| 中文字幕久热在线精品| 国产精品冒白浆免费视频| 中文字幕人成高视频| 国产人成网在线播放va免费| 永久av在线| 国产免费福利| 伊人伊人av电影| 尤物视频在线免费观看| 亚洲第一成人在线视频| 成人亚洲一区二区三区| 在线一区二区三区精品| 高清在线观看av| 精品成人免费自拍视频| 国产美女在线一区二区三区| 91青青在线视频| 久久亚洲资源| av一级在线| 国产乱子视频| 日韩不卡高清| 精品久久九九| 国产偷倩在线播放| 欧美黑人乱大交ⅹxxxxx| 69精品视频|