龍芯平臺上搭建Ruby環境指南
一、初識Ruby
Ruby對於程式設計師和極客並不陌生,這是一個20世紀90年代由日本牛人松本行弘(Yukihiro Matsumoto)開發的指令碼語言,之後一直在開源領域默默發展。這個語言的特點是簡潔、優雅,上手容易,程式碼直觀,維護性好,所以深受程式設計師的追捧。不知不覺到了2016年,在全球程式語言排行榜上已經處於前10名的位置。
對於這樣一個使用廣泛的語言,龍芯平臺能不能方便的支援呢?今天我們就從頭開始搭建Ruby的環境,試驗一下龍芯電腦好不好用。
二、龍芯3B機器亮相
我們使用的機器是一臺龍芯3B迷你電腦。龍芯3B迷你電腦是首款國產商用8核處理器,推出之時在市場上引起了不小的轟動,效能足夠日常辦公使用,預裝了瀏覽器、Office、檔案管理、影音播放等常用的軟體,開箱即用。
想要了解這款機器的資訊可以訪問這個頁面“國貨的進步之作 龍芯3B迷你電腦上手體驗”(http://desktops.pconline.com.cn/551/5512119.html)
還可以看這裡“大有進步-龍芯3B六核迷你電腦體驗之初印象”(http://www.loongsonclub.com/bbs/portal.php?mod=view&aid=16)
三、好馬配好鞍:龍芯社群作業系統Loongnix
有了這樣強勁的國產CPU電腦,一定要搭配優秀的國產作業系統。在今天的實驗中,我們要嚐鮮的是龍芯開源社群版作業系統Loongnix。 Loongnix是由龍芯公司親自開發的,並且組織聯合產業鏈合作廠商、國際開源軟體社群及開源愛好者共同參與建設。社群以“開源、開放”的形式進行管理,設定核心、瀏覽器、JAVA、圖形、編譯工具等系列基礎軟體專案。既然是CPU公司自家產品,想必在龍芯基礎軟體方面的研製優化成果將首先在社群版的Loongnix作業系統中整合和驗證。這樣的“優質搭配”想不優秀都難啊。
四、下載原始碼
我們直接訪問Ruby主頁,下載最新版本ruby-2.3.0.tar.gz。檔案只有17MB。
下載地址:http://www.ruby-lang.org/en/downloads/
我們把這個檔案通過U盤或者網路(SSH、FTP)等方式,傳送到龍芯機器上去。
五、編 譯
Linux上的自由軟體編譯方式都是大同小異,基本都是“解包 - configure - make - make install”的套路。Ruby也不例外,命令列都是極其簡單。下面我們就一步步來,不用被這些天書一樣的命令嚇倒,等你走完一遍流程之後就會發現,在Linux上安裝軟體其實比Windows上更簡潔方便。
1. 解包
- $ cp ruby-2.3.0.tar.gz ~
- $ cd ~
- $ tar zxf ruby-2.3.0.tar.gz
- $ cd ruby-2.3.0
2. 配置
- $ ./configure
3. 編譯
- $ make -j 8
下面就是等待編譯完成了。在此期間可以倒一杯水喝,或者活動一下身體。在龍芯3B上編譯大約需要20分鐘時間。
4. 安裝
- # sudo make install
- (這時候會提示輸入管理員密碼)
不出意外的話,上面的過程應該一切順利。
六、在龍芯上執行Ruby
激動人心的時刻終於到來了!我們先執行一下ruby命令,列印一下版本資訊吧:
- $ /usr/local/bin/ruby -v
- ruby 2.3.0p0 (2015-12-25 revision 53290) [mips64el-linux]
看見了吧?版本標識裡面鮮明的列印了“mips64el”,這個就是龍芯的指令集,而且是64位喲。 既然開始了就不要停下,再執行一下ruby自帶的測試例子吧。test_vector.rb聽上去應該是一個數組計算程式:
- $ cd test/matrix
- $ /usr/local/bin/ruby test_vector.rb
- Loaded suite test_vector
- Started
- ............................
- Finished in 0.123432586 seconds.
- ----------------------------------------------------------------------------------------
- 28 tests, 86 assertions, 0 failures, 0 errors
- 100% passed
- ----------------------------------------------------------------------------------------
- 226.84 tests/s, 696.74 assertions/s
七、Ruby的“Hello World”
到目前為止,我們已經幹了不少事情,但是隻差一件最重要的事,我們還沒有自己寫Ruby程式啊!這對於傲嬌的程式設計師是不能容忍的,來寫一個Ruby語言的“Hello World”吧!開啟任何一個文字編輯器,你可以使用“神的編輯器”vim,也可以使用入門級的“文字編輯器”,編寫一個hello.rb檔案,裡面只有一行內容:
- [hello.rb]
- puts "Hello World!"
因為Ruby是指令碼語言,所以不需要編譯,直接執行文字檔案:
- $ /usr/local/bin/ruby hello.rb
- Hello World!
果然不出所料,真的打印出來了!
八、神奇的事豈止於此
朋友們看到現在可能已經不耐煩了,搞了半天難道就為了列印幾個字元?當然不只是這些簡陋的功能了,只不過所有複雜的系統也是從簡單的開始。Ruby是平臺無關的語言,所有采用Ruby語言編寫的應用程式,都能夠在Ruby的虛擬機器上運行了。所以這意味著龍芯平臺擁有了Ruby的全套軟體生態,以往在X86平臺上搭建的伺服器應用系統,現在都能夠以“零代價”的方式遷移到龍芯平臺上來。想想都讓人覺得國產CPU大有希望啊! 由於現在Ruby的資源太多了,在此不可能一個一個都搭建起來,筆者只試驗了兩個較大規模的系統,一個是redmine,是中國人開發的專案管理系統;另一個是Casein,開源的內容管理系統。有興趣的朋友可以再找類似的系統搭建起來。
九、遇到問題怎麼辦?
上面的文章是筆者搭建過程的記錄,朋友們按照這些操作命令也應該能夠搭建好Ruby環境。如果遇到意外情況,電腦提示錯誤,請首先檢查輸入的命令是否和示例完全相同。如果錯誤還是存在,實在無法解決,也不用著急,龍芯社群有官方的Bug服務門戶(http://bugs.loongnix.org/login_page.php), 你可以把遇到的錯誤現象提交上去,會有龍芯團隊的人員給您專門解決哦。
十、總 結
筆者在不到一天的時間裡不停的把玩龍芯3B電腦,總的感覺是執行穩定,體驗流暢,系統清爽,沒有PC電腦上Windows的病毒軟體之類困擾,最適合做需要集中精力幹正經事的辦公工作,以及伺服器之類要求高可靠、高安全的領域。
現在龍芯經過10多年發展,早已形成了成熟的市場,軟體生態也在蓬勃發展,除了本文搭建的Ruby語言環境之外,所有主流的語言都已經能夠支援,包括Java、PHP、Python都是有成熟的解決方案。
何況去年龍芯釋出新一代產品3A2000,效能比3B又高了2倍,萬眾期待。相信用不了多久,龍芯CPU就可以在開放市場一較高低。