はじめに
Railsの初歩知識を得るために最初の教材としてRails Tutorialから入る方は多いと思います。
自分もその口で、手を出してみたものの環境構築からひたすらエラー続きでRails serverすらうまくいかず、一向に本編に移れず数日間浪費してしまいました。
(この経験も知識になると思っています)
ネットの記事に自分も助けられたので、同じ道を辿る方への道標の一つになれればと思います。
私がネットで調べながら進めたことを、章ごとにまとめて読めるようにメモついでに記事にしてみました。
何かに残さないと、せっかく調べた内容も忘れてしまいますしね。
と、いうことで...
当記事は学習中に吐き出したエラーについて備忘録も兼ねて作成していますので、かなり初歩内容かと存じます。
エラー起こる度に追記していきます。
環境
Windows7
Ruby:2.4.6
Rails:5.1.6
RailsTutorialで推奨されているブラウザ版ではなく
自分のPCに環境構築しています。
1.5.2 Herokuにデプロイする
herokuを使用して実際にアプリケーションを公開してみようという章ですね。
$ git push heroku master
##エラー1
RailsTutorialにはこう書いてあります。
警告メッセージが若干表示されることがありますが、今は無視してください。
いや、がっつりエラーで止まりました。なぜでしょう。
fatal: 'heroku' does not appear to be a git repository
fatal: Could not read from remote repository
Please make sure you have the correct access rights
and the repository exists.
原因
gitがリモート(Heroku)のリポジトリを参照できていない。
ローカルリポジトリ内の.git/config
を参照してみましょう。
対応
下記コマンドを実行して.git/config
にpathを追加
.git/configの中を参照すると[remote "heroku"]が追加されています。
$ git remote add heroku https://git.heroku.com/アプリケーション名.git
##エラー2
さて、気を取り直してもっかいherokuにpushをトライ...おや
どうやらまた別のエラーが出たようです。
(エラーが出ない場合はRails Tutorialの先の章に進んでOKです)
$ git push heroku master
remote:! Your account hoge@fuga.co.jp does not have access to hogefuga.
fatal: unable to access 'https://git.heroku.com/アプリケーション名.git/': The requested URL returned error: 403
「そのアカウントじゃ.git/config
にセットしたURLにアクセスできないよ!」な話。
読めば意味はわかるが、なぜアクセスできないのかわからなかった。
原因
これはエラー1で登録するURLの認識が間違ってただけでした。
URL内のアプリケーション名のところでgitのリポジトリ名を入れていたのが原因。
対応
1.5.1で$ heroku create
で作成した時に出力されたherokuのアプリケーションのURLを参考に、
.git/config
の[remote "heroku"]
にあるurl=
の箇所にある記述をherokuのものに直してあげればおkです。
[remote "heroku"]
url = https://git.heroku.com/hoge-fuga-99999.git
fetch = +refs/heads/*:refs/remotes/heroku/*
上書き保存後、再度$ git push heroku master
で成功しました。
2.2.1 ユーザーページを探検する
ここでは前項目の2.2でscaffoldで作成して
rails serverで起動したサーバーに実際にアクセスすることを求められます。
ということで下記にアクセス
http://localhost:3000/users
するとUsersのindex画面が表示されるとあるがエラー
Showing C:/Users/hogehoge/Desktop/environment/toy_app/app/views/layouts/application.html.erb where line #7 raised:
TypeError: オブジェクトでサポートされていないプロパティまたはメソッドです。
<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %>`
原因
同様の質問に下記回答がありました。
おそらく、WindowsのJavaScriptエンジンが古すぎることによって、CoffeeScriptのコンパイルに失敗している問題だと思われます。
Node.jsをインストールして、パスを通してください。
引用元
どうやらNode.jsをいれていないのが原因のようです。
参考1. 初心者向け!3分で理解するNode.jsとは何か?
参考2. Node.js を5分で大雑把に理解する
対応
ということでNode.jsを入れます。
下記を参照
windows10にNode.jsをインストールする
再度rails sever
コマンド後に localhostのusersにアクセス
#おわりに
いきなり1.5.2から始まってますが、冒頭で書いた通りそこまでもエラー続きでした。
ただ記事にすると思い立ったのが 1.5.3 Herokuにデプロイ のエラーからでした。
恐らく環境構築の章でエラーだらけな人も多いと思うので、状況が再現できれば書いていこうと思います。