1. Ruby
Ruby,一種為簡單快捷的面向?qū)ο缶幊蹋嫦驅(qū)ο蟪绦蛟O(shè)計)而創(chuàng)的腳本語言,在20世紀(jì)90年代由日本人松本行弘(Yukihiro Matsumoto)開發(fā)个唧,遵守GPL協(xié)議和Ruby License婉称。它的靈感與特性來自于 Perl、Smalltalk贤牛、Eiffel惋鹅、Ada以及 Lisp 語言。由 Ruby 語言本身還發(fā)展出了JRuby(Java平臺)殉簸、IronRuby(.NET平臺)等其他平臺的 Ruby 語言替代品闰集。Ruby的作者于1993年2月24日開始編寫Ruby沽讹,直至1995年12月才正式公開發(fā)布于fj(新聞組)。因為Perl發(fā)音與6月誕生石pearl(珍珠)相同武鲁,因此Ruby以7月誕生石ruby(紅寶石)命名爽雄。
2. RVM
用于幫你安裝Ruby環(huán)境,幫你管理多個Ruby環(huán)境沐鼠,幫你管理你開發(fā)的每個Ruby應(yīng)用使用機(jī)器上哪個Ruby環(huán)境挚瘟。
Ruby 環(huán)境不僅僅是Ruby本身,還包括依賴的第三方Ruby插件饲梭。都由RVM管理乘盖。
3. RubyGems
RubyGems 是一個方便而強(qiáng)大的Ruby程序包管理器(package
manager),類似Redhat的RPM憔涉。它講一個Ruby應(yīng)用程序打包到一個gem
里订框,作為一個安裝單元。無需安裝兜叨,最新的Ruby版本已經(jīng)包含RubyGems了穿扳。
4. Gem
Gem是封裝起來的Ruby應(yīng)用程序或代碼庫。
注:在終端使用的gem命令浪腐,是指通過RubyGems管理Gem包纵揍。
5. Gemfile
定義你的應(yīng)用依賴哪些第三方包,bundle根據(jù)該配置去尋找這些包议街。
6. Rake
Rake是一門構(gòu)建語言泽谨,和make類型。Rake是用Ruby寫的特漩,它支持自己的DSL用來處理和維護(hù)Ruby
程序吧雹。Rails用rake擴(kuò)展來完成多種不同任務(wù),如數(shù)據(jù)庫初始化涂身、更新等雄卷。
Rake is a Make-like program implemented in Ruby. Tasks and dependencies are specified in standard Ruby syntax.
7. Bundle
相等于多個RubyGems批處理運行。在配置文件gemfile里說明你的應(yīng)用依賴哪些第三方包蛤售,他自動幫你
下載安裝多個包丁鹉,并且會下載這些包依賴的包。
Bundler provides a consistent environment for Ruby projects by
tracking and installing the exact gems and versions that are needed.
Bundler is an exit from dependency hell, and ensures that the gems
you needed are present in development, staging, and production.
Starting work on a project is as simple as `bundle install`
8. Rack
以Ruby為語言編寫的輕量級的服務(wù)悴能。
Rack provides a minimal interface between webservers that support Ruby and Ruby frameworks.
# my_rack_app.rb
require 'rack'
app = Proc.new do |env|
['200', {'Content-Type' => 'text/html'}, ['A barebones rack app.']]
end
Rack::Handler::WEBrick.run app
> ruby my_rack_app.rb
[2015-12-14 23:27:19] INFO WEBrick 1.3.1
[2015-12-14 23:27:19] INFO ruby 2.2.2 (2015-04-13) [x86_64-darwin14]
[2015-12-14 23:27:19] INFO WEBrick::HTTPServer#start: pid=84264 port=8080
localhost - - [14/Dec/2015:23:27:43 CST] "GET / HTTP/1.1" 200 21