niki12260714の日記

フリーランスのITエンジニアの呟き。

AWS Cloud9でgithubからcloneしたRuby on Railsを動かす

当然っていえば当然なんですが、cloneしてきただけだと動かないわけで。
こちらを参考にして、動作させるべく四苦八苦。

tyoshikawa1106.hatenablog.com

こちらにある通り、「gem install bundler」を実施。
こっちは成功。
なので、次に「bundle install 」を実施したところ、「could not locate gemfile」というエラーが出ました。
gemfileはちゃんとあるんだけどなぁ……と思って、さらにググったところ、gemfileがあるフォルダに移動してからコマンドを叩かないと行けなかった模様。
cdコマンドでgemfileがあるディレクトリに移動してからコマンドを叩くと成功しました。
で、AWS Cloud9ではrailsの起動は「rails start」ではなく、「rails s -b $IP -p $PORT」というなんか長いオプションが必要になります。
bundle installが成功すると、これが効くようになります。
※やっていないと、そんなコマンド無いよ、と怒られます
サーバーを起動してから画面上部にあるPreviewを見てみると、「ActiveRecord::PendingMigrationError」というエラーが発生しています。
参考にしたページにもあり、またエラーをググると同じ現象が出ていますが、つまりはdbをmigrateしてないよ、っていうことらしい。
なので、「rails db:migrate」を実行しましたが、私の環境だとあるテーブルが存在しないよ、というエラーが出てしまいます。
つらつらエラーを眺めていたんですが、どうやらmigrateフォルダに入っている、作成中にmigrateしたなにかが足りなくなっている模様。
ぬーん、ならば更新履歴なんていらないんだから消しちゃえ。
ってことで、/db/migrateフォルダに入っている奴を全消ししたのに、再度「rails db:migrate」を実行、エラーなし。
再び「rails s -b $IP -p $PORT」を実行し、previewを押すとエラーは無くなり、白い画面になりました。
なので、ログイン画面に移動すべく、末尾に「/login/index」と足してEnterを押したら真っ白……
あれ?
ターミナル見ると、ちゃんと動いているっぽいけど……
でもまぁ、動かすところまではできました!