1. 程式人生 > >Ruby中的一些名詞解釋

Ruby中的一些名詞解釋

最近在看一個Rails專案,漸漸的接觸到Ruby語言,其中有些概念之前比較混亂,模稜兩可,相信也有人跟我一樣,剛開始學ruby時對這些概念不太清晰,現在整理一下。

Ruby

這個就不用多說了

RVM

用於幫你安裝Ruby環境,幫你管理多個Ruby環境,幫你管理你開發的每個Ruby應用使用機器上哪個Ruby環境。Ruby環境不僅僅是Ruby本身,還包括依賴的第三方Ruby外掛。都由RVM管理。

Rails

RubyGems

RubyGems是一個方便而強大的Ruby程式包管理器( package manager),類似RedHat的RPM.它將一個Ruby應用程式打包到一個gem裡,作為一個安裝單元。無需安裝,最新的Ruby版本已經包含RubyGems了。

Gem

Gem是封裝起來的Ruby應用程式或程式碼庫。

注:在終端使用的gem命令,是指通過RubyGems管理Gem包。

Gemfile

定義你的應用依賴哪些第三方包,bundle根據該配置去尋找這些包。

Rake

Rake是一門構建語言,和make類似。Rake是用Ruby寫的,它支援自己的DSL用來處理和維護Ruby程式。 Rails用rake擴充套件來完成多種不容任務,如資料庫初始化、更新等。

Rake is a build language, similar in purpose to make and ant. Like make and ant it's a Domain Specific Language, unlike those two it's an internal DSL programmed in the Ruby language.

PS:個人感覺有點類似Symfony2中的app/console

Rakefile

Rakefile是由Ruby編寫,Rake的命令執行就是由Rakefile檔案定義。

In a gem’s context, the Rakefile is extremely useful. It can hold various tasks to help building, testing and debugging your gem, among all other things that you might find useful.

Bundle

相當於多個RubyGems批處理執行。在配置檔案gemfilel裡說明你的應用依賴哪些第三方包,他自動幫你下載安裝多個包,並且會下載這些包依賴的包。

Bundler maintains a consistent environment for ruby applications. It tracks an application's code and the rubygems it needs to run, so that an application will always have the exact gems (and versions) that it needs to run.