整理Ruby相關(guān)的各種概念(rvm, gem, bundle, rake, rails等)

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)用使用機器上哪個Ruby環(huán)境。
Ruby 環(huán)境不僅僅是Ruby本身,還包括依賴的第三方Ruby插件。都由RVM管理。

參考

3. RubyGems

RubyGems 是一個方便而強大的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用來處理和維護Ruby
程序。Rails用rake擴展來完成多種不同任務(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


參考

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容