ruby學習之路(一)


學習ruby最好的方法就是下載源碼包,里面帶有sample和test,是入門學習的最好實例。

我下載的是2.1.0版本,首先./configure,然后make,sudo make install。從common.mk文件中可看出,包含有兩類test:test和test-all,test主要是對sample/test.rb進行測試,test-all用於對test文件夾中的用例進行測試。

在make test-all過程中,提示未找到zlib,需要通過gem下載,下面就復習一下gem的語法

gem相關命令使用 

1.顯示gem的幫助和版本 
gem –h/--help 
#顯示gem的幫助 

gem –v /--version 
#顯示gem的版本號 
2. 列出遠程庫的所有可用軟件 
gem query --remote         
# 短命令: gem q -r 
你可以看到一個關於遠程主機上所有軟件的詳細列表。 
3. 查找遠程主機上的特定軟件 
gem query --remote --name-matches doom 
# 短命令: gem q -rn doom 
你將看到一個匹配doom的詳細列表。 

gem list –remote --d 
#用子命令list列出遠程安裝的gems 
4.1 安裝一個遠程軟件 
gem install --remote progressbar 
# 短命令: gem i -r progressbar –y 
遠程安裝progressbar到你的主機,-y的意思是無條件的安裝依賴包 

gem install rails –remote 
#從遠程服務器安裝rails包,其中rails可以被替換成任何一個gem list –remote –d中顯示的軟件包 

4.2 安裝軟件的特定版本 
gem ins -r progressbar-0.0.3 
安裝progressbar的0.0.3版本 

gem ins -r progressbar --version '> 0.0.1' 
將安裝progressbar的大於0.0.1的最新版本 
5. 查看一個已安裝的軟件 
gem specification progressbar 
# 短命令: gem spec progressbar 

你會看到關於已安裝的包progressbar的詳細信息。 
6. 卸載一個軟件 
gem uninstall progressbar 
卸載了progressbar 
7.1 將所有安裝的軟件列表 
gem query --local 
# 短命令: 'gem q -l' 
7.2 查看某個已安裝的軟件 
gem query --local --name-matches doom 
# 短命令: 'gem q -ln doom' 
或:gem list --local 

7.3 需要注意的安裝方法 
gem ins rake   

會先嘗試本地安裝,如果本地沒有就會遠程下載。 
gem list -b ^C 

列出本地和遠程的以C開頭的軟件 

8. 瀏覽所有安裝的軟件和它們的說明文檔 
gem_server 
會生成一個web服務器,打開http://localhost:8808 

就可以看到一個html詳細列出了你需要的信息。 

9. 使用配置文件 
gem: --gen-rdoc --run-tests 
如果你想安裝軟件后總是生成它們的文檔和運行單元測試,你可以在配制文件里寫上相關的命令,配置文件名是.gemrc,在主目錄里。 

10. 構建gem包 
gem build package.gemspec 
#運用bulid子命令構建gem包

參考自園中麥子加菲的博客

下載gem之前,首先將gem的源更換為淘寶網,步驟如下

$ gem sources --remove https://rubygems.org/
$ gem sources -a http://ruby.taobao.org/
$ gem sources -l
*** CURRENT SOURCES ***

http://ruby.taobao.org

當執行到gem sources -a http://ruby.taobao.org/時報錯:
ERROR:  While executing gem ... (NameError)
    uninitialized constant Gem::RemoteFetcher::Zlib
原因是下載列表時需要zlib庫,而ruby中沒有帶這個庫,想將源換回之前的庫gem sources -a https://rubygems.org/又報錯:
ERROR:  While executing gem ... (Gem::Exception)
    Unable to require openssl, install OpenSSL and rebuild ruby (preferred) or use non-HTTPS sources

因此必須安裝zlib,從zlib.net網站下載源碼包,編譯安裝后進入ruby源碼文件夾,安裝ruby自身提供的zlib包

$cd ext/zlib
$ruby ./extconf.rb
$make
$make install

然后再執行gem sources -a http://ruby.taobao.org/,源更改成功


免責聲明!

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



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