AWSでRuby on Railsの環境を作る
ProgateでRuby on Railsの勉強が多少進んだので、練習もかねてアプリを作ろうと考えた。
今回はRuby on Railsの環境構築をした内容について書いていく。
どこに環境を作るか?
僕の環境としては、以下3つの候補があった。
- MacBookのローカルに環境構築する
macbookAirは持っているが、使うのに慣れていないので環境構築に時間がかかる。
しかし、普通はiOS・Linuxの環境を使うことが多いはずだから、いずれやる必要はあると思う。 Windowsのローカルに環境構築する
あまり勉強にならないのでは?AWSのCloud9で環境構築する
Railsチュートリアルをやったことがあるので、敷居が低め。
クラウド環境の勉強にもなるので、こちらで環境を作ることにした。
選んだ理由は、基本的に以下の通り。
- コケる可能性が極力低い
- そこそこ勉強になりそうか
- 経験としてアピールできそうか(分からんけど)
環境構築にコケる
今回はRailsチュートリアルのように、Railsやsqlite3などのバージョンを指定せずにインストールを試みた。
しかし、最初のアプリを作ってサーバー立ち上げたら開けなかった。
1. webpackerがないです
以下のエラーが最初に出た。
/home/ec2-user/.rvm/gems/ruby-3.0.1/gems/webpacker-4.3.0/lib/webpacker/configuration.rb:95:in `rescue in load': Webpacker configuration file not found /home/ec2-user/environment/dairy_report/config/webpacker.yml. Please run rails webpacker:install Error: No such file or directory @ rb_sysopen - /home/ec2-user/environment/dairy_report/config/webpacker.yml (RuntimeError)
どうやら「webpackerがないからサーバー起動できない」的なエラーが出ているっぽい。
bundle install
をした際に入っていなかったらしい。
これがなぜ入らなかったのかは分からなかったが
とりあえずインストールすれば、なんとかなるだろう(´▽`)
下記のURLを参考にして、webPackerをインストールした。 vviilloovv.hatenablog.com
yarnのインストールについては下記を参照して入れた。
2. sqllite3のバージョンが古すぎんだよ
今度はサーバーは起動したが、Webページは表示されない。
メッセージを見る限り、インストールされているsqllite3のバージョンが古すぎる。
3.8以上にしてください。
というエラーらしい。
これが本当に厄介で、以下2つの手順が必要だった。
- 別途3.8のsqllite3をインストールファイルを取得し、インストールしなければならない
- 参照する環境変数を変えるなどして、アプリで見るsqllite3のファイルパスを変更する
以下2つのリンクを参照して、インストールしてアプリを作り直した。
最新バージョンの取得方法は以下のリンクを参考に取得。 it-jog.com
sqllite3のインストール方法については下記を参考にしてインストールした。 blog.serverworks.co.jp
この前にアプリを既に作ってしまっていたので、アプリを再作成した。
3. このRailsのバージョンだとsqllite3が新しすぎますよ
今度こそ大丈夫かと思い、rails serverを実行して開いたら
以下のエラーが出た。
これは今のRailsバージョンがsqllite3のバージョン1.4に対応してないから、sqllite3のバージョンを1.3系に落としてください。
というエラーのようだ。
後で確認したらRailsのバージョンは5.0.7
だった。
下記のリンクを参照して調べた限り、5.1.6のバージョンで起きるんだから
もっと古いバージョンの今は起きるに決まってますね。
今思うとRailsのバージョンはもっと新しいのがあったはずなので
Railsのバージョンを上げるのが妥当だったのかもしれない。
やっとHelloWorld状態になった
1~3の手順を行いやっと最初の画面を表示できた。 実に3時間かかった。
これは良い環境かは不明
現状分からない。
全部最新バージョンをインストールしたわけではなさそう。
この辺の知識が全くないので、脳死で最新バージョンにするのも良くなさそうだから
今はこのままにしとこう。
バージョン選定できる人は神です
環境構築をしてみたが、正直最善のバージョン構成は
知識と経験がないとまず無理だと思った。
今の私には、以下全てが分かっていない。
- フレームワークで使われているツールがどれだけあるか
- ツールのバージョン
- 最善のバージョンが何なのか?
この状態であれば、環境構築をとりあえずこなせただけでも
まぁ及第点かなと思う。
でも、環境選定できる人ってこの辺を知っていて経験のある人なんだろうね。
すごいっす・・・。