LoginSignup
3
3

More than 5 years have passed since last update.

パRailsを読んでみた 1章 概要編

Last updated at Posted at 2016-04-24

はじめに

RailsはおろかRubyもそんなに分かってない系エンジニアがパRailsを読んでみる。

読んでて分からなかったところを調べながら書いていきます。備忘録。

Ruby周辺ツールが分からない問題

Rails以前のところが分からなすぎる

gemはギリギリ分かる(気がする)(正直怪しい)けど、
Rake, Bundlerが謎。Bundlerはパッケージ管理的なものだと思ったけどRakeが謎。

なので本の内容を追いつつ、Gem,RakeとBundlerについて調べてみる。

gemとは

Rubyでライブラリを扱う際のパッケージ管理システムであるRubyGemsを扱うためのコマンドです。

パーフェクトRuby on Rails P20より

なるほど。
RubyGemsって何?という感じなので調べてみると、

多くのプログラミング言語と同様に、Ruby にも幅広いサードパーティのライブラリが提供されています。

それらのほとんどは “gem” という形式で公開されています。RubyGems は (Ruby に特化した apt-get と同じようなパッケージングシステムで) ライブラリの作成や公開、インストールを助けるシステムです。

Ruby公式 ライブラリより

なるほど…なるほど?Ruby専用のyumとかapt-get的なものという解釈か。

Rakeとは

Rake とは

Rake は Make によく似た機能を持つ Ruby で書かれたシンプルなビルドツールです。

Rake は以下のような特徴を持っています。

Rakefile (Rake における Makefile) は標準的な Ruby の文法で書くことができます。 XML ファイルを編集する必要はありませんし、Makefile の風変わりな文法 (タブだっけ?スペースだっけ?) に頭を悩ませる必要もありません。
ユーザは必須条件をタスクに指定できます。
Rake は暗黙のタスクを合成することをサポートしています。
配列のように振る舞うフレキシブルな FileList メソッドがあります。 FileList はファイル名やパス名を扱うのに便利です。
Rakefile をより簡単に作成するためにこのライブラリにはいくつかのタスクが同梱されています。

…うーん?
そもそもMakeがよく分かってないから理解できないのかな?
ビルドツール、という言葉はなんとなくでしか知らないので、
実際何をするものなのかがよく分かってない。
(コンパイルとか、ソースからソフトインストールするときなんかに出てくる印象)

と思って、ビルドツールで調べたらなかなか 闇が 深かったのでこれはちょっと置いておくことに。

とりあえず「Ruby製ビルドツール」ということは把握。
ビルドツールと言いつつ、定形コマンド実行ツール的な感じか。

※ 2016/04/26追記
Rakeはビルドツールとしてだけでなく、もっと広い用途に使えるものである、とのコメントを頂きました。
ありがとうございます!

Bundlerとは

What is Bundler?

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 need are present in development, staging, and production. Starting work on a project is as simple as bundle install.

Bundler公式サイトより

dependency hell…依存地獄みたいなニュアンスだろうか。すごい言葉だ…

プロジェクトごとに使用するgemを管理、バージョンとかも指定できるもの?かな?
genの依存関係まで解決してくれる!すごい!(あってる?)

実際にRailsしてみる

ある程度それぞれのツールの用途が分かったので、実際にRailsを動かしてみる。
Rubyは導入済みという前提。(with rbenv)

まずはRailsをインストールする。gemを使って、

$ gem install rails

これだけ。とても簡単。
ちなみにパRailsではバージョン4.1.1を使用しているので、バージョンを合わせたければ、

$ gem install rails -v 4.1.1

とすると指定バージョンがインストールされる。

railsのインストールができたら、

$ rails -v

でバージョン確認しつつインストールできてることを確認。
なお、ここでエラーを吐かれた場合はパスがちゃんと通ってない(反映されていない)場合が多いので、

$ exec shell

でシェルを再起動すると吉らしい。
(-lを付けてたり付けてなかったり、execの動作理解がやや怪しいので今度調べる)

railsのインストールができていたら、railsアプリケーションを作りたいディレクトリに移動し、

$ rails new アプリ名

と打ち込む。これだけでアプリケーションのテンプレート?が生成される。簡単。
なお、アプリ名で新しいディレクトリが作られ、その中に各種ファイルができるので、
わざわざ自分でアプリごとのディレクトリを作る必要はない。

なかなか多くのファイル、ディレクトリが作られるが、今はとりあえず詳しく見ないで進める。

rails newで生成されたアプリケーションは既に動作する状態なので、
試しにrails内蔵(組み込み?)のサーバを稼働させて確認する。
アプリケーションのルートディレクトリに移動し、

$ ./bin/rails server

とすると、内臓サーバ(WEBrick)が立ち上がる。
./bin/以下に

ちなみに、前までは

$ bundle exec rails server

でrailsのコマンドを実行していたらしい。今でも使えるけど。
確かにGemfiles内にrailsがある。

サーバが立ち上がったらブラウザで"localhost:3000"などと打ち込むと
無事Railsアプリケーションのスタートページにアクセスできる。

Railsアプリがとりあえず出来たので、今回はここまで。

3
3
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3