Railsチュートリアル実践記(5) Ruby on Railsで”Hellow,World”
やっと。やっと。Ruby on Railsの実践です。
Webページに”Hellow,World”と表示するプログラムを作成します。
Railsアプリケーション作成コマンドの実行
最初のうちは言われた通りに手を動かそう。
というわけで、コマンドエリアに
rails _5.1.6_ new hello_app
(Railsの新しいアプリケーション”hello_app”を作成するコマンド)
を入力し、エンター。
これだけで、何やらたくさんの行が自動的に生成されていきます。
Webフレームワークなるもの
さぁCOBOLerお待ちかねのキーワード「フレームワーク」が出てきたぞ
チュートリアルによると、
Webアプリケーションのディレクトリをどう構成するかは本来自由なのですが、RailsのようなWebフレームワークではディレクトリとファイルの構造 (図 1.7) はこのように標準化されています。ファイル/ディレクトリ構造がすべてのRailsアプリで標準化されているおかげで、他の開発者の書いたRailsのコードが読みやすくなります。これはWebフレームワークを導入する大きなメリットです。
なるほど。
これからWebアプリケーションを作っていくわけですが、
どういうフォルダ構成にして、どのフォルダにどういう種類のファイルを入れて…
という共通ルールを、全アプリに課してるんですね。
片付け術みたい。
そういう事情があるために、
「アプリケーションを作る」という1動作で、
その共通ルールに従ったディレクトリやファイルや何やらを
一気に作成する処理が走ったようです。
まだ、どのファイルが何の役割を果たしているのか、まったくわかりませんが
おいおい説明されるとのこと。
Bundlerを実行して、gemをインストール
もうタイトルからして何を言っているのかわからない。。。
「gemとは」でググりました。
下記サイトを参考にさせてもらい、そのまま引用します。
Gemパッケージとは
まずはGemパッケージの簡単な解説です。Rubyで使われるライブラリやアプリケーションはGemと呼ばれる形式のパッケージにすることができます。多くのライブラリがGem形式でパッケージされ公開されており、これらはRubyGemsと呼ばれるパッケージ管理ツールを使ってダウンロードを行なったりインストールすることができます。これらのパッケージのことを単にGemとかGemパッケージなどと呼んだりします。
RailsもGem形式でパッケージになったもので、Railsをインストールした時も「gem install rails」とRubyGemsを使ってインストールを行いました。
Railsで作成したアプリケーションは通常Railsだけでなく他の多くのGemパッケージも使います。例えばSQLiteをRailsから利用するために必要な"sqlite3"パッケージもその一つです。
Bundlerとは
Railsのアプリケーション開発を複数のPCで行なおうとした場合を考えてみます。プログラムファイルはもちろんですが、全てのPCで対象のアプリケーションで使用しているGemパッケージをインストールしておかなければなりません。またGemパッケージのバージョンも揃える必要があります。そこで使われるのがBundlerです。BundlerはRailsアプリケーションに必要となるGemパッケージの種類やバージョンを管理し、複数のPCで必要なGemパッケージをインストールする仕組みを提供してくれます。
うーーーーーーーん。。。。。
わかったような、わからないような・・・
とにかく「Bundler」がインストールの仕組みであり、
「Gem」がライブラリやアプリケーションのパッケージなんですね・・・
とりあえずチュートリアルを進めます。(泣)
①テキストエディタでGemfileを開く
先ほどのアプリ作成コマンドを実行した結果として、
「hello_app」というディレクトリが作成されています。
ここをクリックし、その下の「Gemfile」というファイルをダブルクリックする、
ということのようです。
どうやらこの「Gemfile」に書かれている内容にしたがって、
「Bandler」がインストールを行う、ということみたい。
②Gemfileの内容を書き換える
デフォルトのGemfileは、インストールするgemのバージョンを
「バージョン〇〇以上」とか
「バージョン〇〇以上(ただしメジャーアップデートは含まない)」という
若干幅を持たせた形で指定しています。
これらの指定を、すべて
「バージョン〇〇」と
固定した形に書き換えます。
③「Bandlerを使ってインストール」の実行
インストールのコマンドは、bundle install
ですがこのコマンドは、アプリケーションのディレクトリで実行する必要があるようです。
よってコマンドエリアには
cd hello_app/
bundle install
と入力します。
とりあえず、コマンドは正常に終了しました。
うーーーーーーーーーーーーーーーーーーーん
今日はここまで。。。
Hellow,Worldできなかった。。。