LoginSignup
2
0

More than 5 years have passed since last update.

Rails Tutorial エラーメモ

Last updated at Posted at 2019-05-28

はじめに

Railsの初歩知識を得るために最初の教材としてRails Tutorialから入る方は多いと思います。
自分もその口で、手を出してみたものの環境構築からひたすらエラー続きでRails serverすらうまくいかず、一向に本編に移れず数日間浪費してしまいました。
(この経験も知識になると思っています)
ネットの記事に自分も助けられたので、同じ道を辿る方への道標の一つになれればと思います。

私がネットで調べながら進めたことを、章ごとまとめて読めるようにメモついでに記事にしてみました。
何かに残さないと、せっかく調べた内容も忘れてしまいますしね。

と、いうことで...
当記事は学習中に吐き出したエラーについて備忘録も兼ねて作成していますので、かなり初歩内容かと存じます。
エラー起こる度に追記していきます。

環境
Windows7
Ruby:2.4.6
Rails:5.1.6
RailsTutorialで推奨されているブラウザ版ではなく
自分のPCに環境構築しています。

1.5.2 Herokuにデプロイする

herokuを使用して実際にアプリケーションを公開してみようという章ですね。

Console
$ git push heroku master

エラー1

RailsTutorialにはこう書いてあります。

警告メッセージが若干表示されることがありますが、今は無視してください。

いや、がっつりエラーで止まりました。なぜでしょう。

Console
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"]が追加されています。

Console
$ git remote add heroku https://git.heroku.com/アプリケーション名.git

エラー2

さて、気を取り直してもっかいherokuにpushをトライ...おや
どうやらまた別のエラーが出たようです。
(エラーが出ない場合はRails Tutorialの先の章に進んでOKです)

Console
$ 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をインストールする

バージョン確認で正しくインストールできていることを確認
node.js.png

再度rails severコマンド後に localhostのusersにアクセス

おわりに

いきなり1.5.2から始まってますが、冒頭で書いた通りそこまでもエラー続きでした。
ただ記事にすると思い立ったのが 1.5.3 Herokuにデプロイ のエラーからでした。
恐らく環境構築の章でエラーだらけな人も多いと思うので、状況が再現できれば書いていこうと思います。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0