Ruby Gems2010-07-26 16:29:54| 分類: ruby&rails |字號(hào) 訂閱 1. 什么是RubyGems 1.1 RubyGems出現(xiàn)之前 1.2 安裝RubyGems 方法3) 使用ruby一步安裝程序自帶的低版本RubyGems的升級(jí)功能 1.3 從哪些途徑能夠了解到RubyGems 第2種方法就是在http://docs./中找到你需要的幫助文檔(學(xué)習(xí)初期推薦使用第1種方法來了解RubyGems,后期強(qiáng)烈推薦第2種方法來學(xué)習(xí),這樣可以學(xué)到更多的有用的知識(shí)) 1.4 怎樣利用好RubyGems的強(qiáng)大功能
2. Ruby Gems命令行參考手冊 我學(xué)習(xí)ruby有一段時(shí)間,有一些新的想與大家分享,要學(xué)會(huì)ruby首先要學(xué)會(huì)怎么玩ruby。然而怎么玩ruby的第一步就是如何安裝配置ruby的常用庫。rubygems是ruby提供的一個(gè)非常有效配置ruby插件的工具。一開始接觸rubygems的朋友非常頭痛如何能學(xué)會(huì)rubygems他到底怎么操作,下面我來介紹一下如何來作rubygems的日常操作。 1)、查詢 1.2查詢遠(yuǎn)程的可以提供下載使用的gem,在命令行中打入gem query -r 告訴rubygems查詢遠(yuǎn)程的gem資源。 1.3使用關(guān)鍵字查詢,這也是query命令的最厲害的地方支持正則表達(dá)式為條件的搜索。下圖就是我們以record為關(guān)鍵字進(jìn)行搜索 2)、安裝gem 3)、卸載 rubygems常用的命令就這3個(gè)很簡單吧,如何深入使用這三個(gè)命令。接下來我準(zhǔn)備用3次來分別詳細(xì)介紹。
3. gem query–查詢本地或者遠(yuǎn)程的gem資源,查詢結(jié)果以列表方式顯示gem query的功能 Usage: gem query [options] Options: -n, --name-matches REGEXP Name of gem(s) to query on maches the provided REGEXP -d, --[no-]details Display detailed information of gem(s) -l, --local Restrict operations to the LOCAL domain (default) -r, --remote Restrict operations to the REMOTE domain -b, --both Allow LOCAL and REMOTE operations 1)、使用-l或者--local為選項(xiàng)列出本地gem,其實(shí)gem query不加任何選項(xiàng)默認(rèn)就是查詢本地gem。 2)、使用-d或者--details列出gem的Description信息,可以對(duì)比一下上面的圖片加上-d之后可以顯示gem的名稱、版本、作者、Rubyforge的網(wǎng)址、Homepage、安裝gem的地址等一些詳細(xì)的介紹,讓你對(duì)這個(gè)gem有更多的了解 3)、使用-r或者--remote為選項(xiàng)列出遠(yuǎn)程gem信息。 遠(yuǎn)程的gem是很多開源組織或者個(gè)人以非贏利為目的把自己的項(xiàng)目發(fā)到http://www./中,供大家下載使用。 所以經(jīng)常使用-r為條件看看遠(yuǎn)程有哪些新增的或者非常有趣的項(xiàng)目,如果覺得不錯(cuò)就可以下載到本地安裝。 4)、使用-b或者--both為選項(xiàng)列出本地和遠(yuǎn)程的gem信息(這個(gè)選項(xiàng)不會(huì)經(jīng)常使用到) 5)、使用-n或者--name-matches為選項(xiàng)作gem名字搜索支持正則表達(dá)式為條件的搜索。下圖就是搜索名稱中帶有record的gem 下面就是query最強(qiáng)大的地方支持正則表達(dá)式的特殊符合 4. RubyGems 版本策略理解RubyGems版本管理策略每個(gè)gem項(xiàng)目基本上都是一些以非贏利為目的的個(gè)人和組織上傳的,處于松散管理狀態(tài)。如何能把gem項(xiàng)目更好的管理起來,RubyGems有一套自己的管理策略,從而規(guī)范大家的版本發(fā)布。 其實(shí)RubyGem的版本管理策略很簡單的,我們經(jīng)??梢允褂胓em query命令可以看到在gem包后面會(huì)跟一個(gè)或者多個(gè)由數(shù)字組成的字符串(3, 3.1, 3.14, 3.141, 3.1415),它到底代表了什么含義呢。至于在確定了需要安裝gem的名稱后如何選擇我們需要的版本來安裝在后面幾天我會(huì)詳細(xì)介紹?,F(xiàn)在我們只要能做到理解這些數(shù)字的含義就可以了。 每個(gè)gem項(xiàng)目都有自己的生命周期,其實(shí)能利用RubyGems版本管理策略看懂各個(gè)gem項(xiàng)目版本之間的區(qū)別也是一件非常有意思的事情,讓我們接下去看。 RubyGems版本依賴采用操作符 主版本.次版本.補(bǔ)丁 的形式發(fā)布的 Version 0.0.1: gem項(xiàng)目最初的一個(gè)版本。 簡單吧,其實(shí)RubyGems的版本管理策略是非常簡單而且行之有效的,已經(jīng)成為了gem項(xiàng)目發(fā)布的一個(gè)規(guī)范了。
5.代理服務(wù)下如何使用gems 如果使用了代理服務(wù),相關(guān)命令需要使用 -p 選項(xiàng)(設(shè)置了環(huán)境變量則不用-p),同時(shí)設(shè)置代理. linux: export HTTP_PROXY=http://10.19.0.7/
6. ruby+gem常用命令 ruby -v #查看ruby 版本 gem -v #gem版本 gem install rake #安裝rake,從本地或遠(yuǎn)程服務(wù)器 gem install watir -v(或者--version) 1.6.2#指定安裝版本的 (多謝 wpyily 提供) gem help #提醒式的幫助 gem build rake.gemspec #把rake.gemspec編譯成rake.gem 使用方式 i 是安裝
1). 查詢本機(jī)端安裝了那些套件 gem q 2). 查詢遠(yuǎn)端有那些套件可以安裝 gem q -r 3).查詢遠(yuǎn)端有沒有名叫 ABC 的套件可以安裝 gem q -r -n ABC 4). 安裝遠(yuǎn)端名叫 ABC 的套件 gem i -r ABC 5). 安裝遠(yuǎn)端名叫 ABC 的套件,並且把所有相關(guān)的套件都裝好 gem i -r ABC --include-dependencies 6).移除已經(jīng)安裝的 ABC 套件(你說為何不用縮寫,因?yàn)閁ninstall 要謹(jǐn)慎點(diǎn) :p) gem uninstall ABC 7). 升級(jí)ABC 套件(也就是再安裝一次) gem i ABC 8). 列出本機(jī)端已經(jīng)安裝的套件 gem list -l 或是 gem l –l 9). 求救 gem help 或是 gem -h
7. 搭建屬于自己的RubyGems服務(wù)器 RubyGems是一個(gè)用于Ruby的包管理工具,雖然并未包含在Ruby的發(fā)行版中,但是可以認(rèn)為是事實(shí)上Ruby世界中標(biāo)準(zhǔn)的發(fā)布Ruby程序和庫的工具,可以很方便的管理gem之間的依賴性。 如果你是在進(jìn)行Open Source的Ruby程序開發(fā),可以直接通過Rubyforge來發(fā)布gem。不過如果是自己的私有項(xiàng)目,可能就需要自己搭建一個(gè)Web server來進(jìn)行g(shù)em的發(fā)布了。如果系統(tǒng)中已經(jīng)安裝了RubyGems的話,通過gem server (gem help server看看用法)就可以啟動(dòng)一個(gè)簡單的gem發(fā)布的server。不過很可能的,你已經(jīng)有一個(gè)Web Server在系統(tǒng)環(huán)境中了(如Apache Web Server),這個(gè)時(shí)候就通過以下的幾個(gè)步驟可以完成把這個(gè)Web Server改造成為一個(gè)gem distribution server: 1) 建立一個(gè)發(fā)布目錄,并設(shè)置Apache(或者其他的Web Server)使得這一目錄能夠通過Web訪問。并在這一發(fā)布目錄下建立一個(gè)名為gems的子目錄。
2) 拷貝打包好的gem到dist/gems目錄中。
3) 在命令行界面中,進(jìn)入dist目錄,運(yùn)行“gem generate_index .”(或gem generate_index -d .)(請(qǐng)注意最后的一個(gè)點(diǎn),表示當(dāng)前目錄)。這一命令會(huì)對(duì)gems子目錄中的所有g(shù)em建立一個(gè)索引文件yaml,并存放在dist目錄下,以便可以通過gem install命令安裝時(shí)查找。
5) 如果以后還有新的gem需要發(fā)布或者有新的版本的gem需要發(fā)布,請(qǐng)從步驟2)開始繼續(xù)即可。 關(guān)于RubyGems,有一本很好的書,介紹了其使用、開發(fā)和發(fā)布等,有興趣的話可以看看。
8. gem 本地安裝 |
|
|