Ruby on Railsをはじめて環境構築してみた
はじめに
Ruby on Railsのアプリケーション開発をしようと思い、インストール〜起動をしようとしました。 いくつか苦戦したところがあったので、ちょっとメモしていけたらなと思います!
構成
苦戦したところ
インストール
rubyとrailsのバージョンがあっていなかったようです。 あと、RubyMineで最初に設定したrubyのバージョンも違ったりbundleというものにバージョンも違ったり、 色々うまくいっていなかったので起動できなかったというのがありました。
下記、インストールメモ。
rbenv install -l rbenv install -v 2.6.6 rbenv rehash rbenv global 2.6.6 sudo gem install rails rbenv exec gem list | grep bundler gem install bundler -v 2.1.0
BundlerとGem
yarnやnpmかと思いきやbundleというものがいて、 bundleがgemの依存関係を管理しているようなイメージでしょうか。 そのあたりの理解はできるのですが、やっぱりこのあたりは言語を学ぶときに壁になるところだよねあと思いました。 オープンソースが進んだ現代では致し方ないといいますか、必須知識にすらなる部分なのでしょう。
path設定
pathの設定がMacのデフォルトのほうを向けていました。 そのせいで、railsのインストールが全然できないということがありました。 pathにはbrewでインストールした場合、下記を設定しないといけなかったです。
export PATH=${HOME}/.rbenv/shims:...
pgがない
ネットを調べるとposgresqlがないとインストールできないような状況らしいです。 どれかのライブラリが依存していたのでしょうが、pgではわからないので、はっきりとposgresqlと出てほしいところです。
構成理解
railsの構成については、他のMVCパターンだったり、Webアプリケーション開発をしている人なら大方理解できるかなという感じに思いました。
- app
- アプリケーションに関するモジュールを置く。ここがメインになるのでしょう。
- bin
- 起動シェルなど。ここでお決まりのおまじないから、プロジェクト独自のおまじないいろいろシェルに書いていくのでしょう。
- config
- 設定ファイル系。configuration系なので、アプリケーション起動に必要なものは全てここに配置すると思われる。
- config.ru
- db
- lib
- 不明
- log
- ログを出力する。
- public
- 静的ファイルを配置する。
- test
- テストを配置する。
- vendor
- サードパーティを配置する。
- Gemfile(Gemfile.lock)
- ライブラリの依存関係を記述したもの。
- Rakefile
- コマンド的なことを記述していける場所っぽい。どこかでrakeコマンドを叩くと効率いいタイミングってあるのかな。
- .ruby-version
- rubyのバージョンを記載するだけっぽい。gemファイルにあるしいらないのではと思うが、そうではないのであろう。
まとめ
バージョンについては苦戦した。ここで脱落していく人もいるのかなと思います。 Pathの設定や謎コマンドの打ち込みなどを乗り越えて、ゴールかと思ったらエラーになり先に進めない...となるケースも多いかなと思いました。 ここはネット情報で乗り越えるべきところかなと思いました。
ただ、おそらく私は説明書を読まない&Mac環境をごにょごにょいじっていたりするので、しっかりネットにあるインストール方法を読み、プレーンな状態からのスタートの場合はうまくいくというケースもあるのかもしれません。
でもバージョン周りで苦戦すると構成について理解が深まるのでそれはそれでOKと割り切りが必要かなと改めて思いました。