2014年10月20日月曜日

モダンでMacなRubyな話

言語としてのRuby単体ではなく、周辺の便利ツールとそのレイヤーを整理。



▼Ruby on Rails
いわすとしれた、Webアプリケーションフレームワーク。DB連動するWebアプリケーションを効率よく作るというのが一番の目的だけど、開発に便利なツールの大半が、Ruby on Rails の

▼Sinatra
Sinatraもフレームワークの一つ。Ruby on Rails に比べるとコンパクト。RubyをAPIとしてのみ使うときとかは、これくらいのシンプルなものが利用される。Sinatraでユーザ向けのWebサイトをつくろうとすると、結果的に、Ruby on Rails に近くなるので、一旦Sinatraのことは上級編ということで忘れてよし。

===ここから順に、インストールが必要なものを順番に解説===

▼brew
HomeBrewというパッケージ管理システム。RedHat系でいうyumみたいなもの。基本的には開発ツールはbrewコマンドでインストールする。brew自体は開発ツールで、X-Codeをインストールすると一緒にインストールされる。

▼rbenv
Rubyを複数バージョン入れれるように管理するためのもの。
brewコマンドでインストールする。プロジェクトごとに必要とされるRubyのバージョンは違うから、rbenvは必要。

▼ruby-build
rbenvのプラグイン。rbenvはバージョンの切り替え機能だけなので、ruby-buildが入って、rbenv installコマンドが使えるようになる。rbenv installコマンドでrubyをインストールすると、プライベートな領域にrubyがインストールされる。

▼gem(ジェム)
RubyGemsが正式名称。rubyをインストールするとgemコマンドもインストールされている。Rubyの機能拡張ライブラリのパッケージシステム。PerlでいうCPAN。PHPでいうPEAR。gemの中身はRubyで書かれることも多いが、インストール時にソースのコンパイルをすることもある。
個別にgemをインストールするのではなく、budleコマンドで指定領域にバージョン指定でインストールするのが今風。

▼buldler
gemでインストールされるプラグインだが、gemを管理するためのbundleコマンドでもある。
gemのインストールを、その階層にある「Gemfile」というテキストファイルから読み取り、指定した階層以下に、gemライブラリの実ファイルを配置することができる。こうするとことでプロジェクト単位で、gemのバージョン管理ができる。gemライブラリは常にbundle経由でやるのが今風。
bundleがうまく動かない時には、
bundle doctor
コマンドを流すと、整合性がとれてないところとか教えてくれる。

▼rake
makeのruby版。rakeもまたgemライブラリの一つで、rakeという単独のコマンドで動く。
rake db:migrate
のように、ソースからデータベース情報を読み取って、データベース側にテーブルを作ったりしてくれる。bundlerを使っているのなら、
bundle exec rake db:migrate
のように、bundle配下で動かす。とりあえず、gem系のコマンドは、bundle経由で動かすのが安全安心。

▼まとめ
シンプルに勉強するなら、ruby>gem>rails(とgemで入る周辺コマンド)。
実用フェーズになると、rbenv(+ ruby-build)>bundle というもう一枚かぶせたやり方でやる。



1 件のコメント:

  1. Best Casino Deals in New Jersey (December 2021) - JTM Hub
    The 강원도 출장안마 best New Jersey Casino 광양 출장안마 Deals for 고양 출장안마 December 2021. Online slots, video poker, sportsbook, bingo, and 청주 출장마사지 bingo 포항 출장안마 available from the best NJ

    返信削除