LoginSignup
0
0

More than 3 years have passed since last update.

Rails チュートリアル第1章 躓いたポイント

Last updated at Posted at 2019-08-12

基本ググりまくってますが、進めててうえ〜って思った箇所を抜粋します。
最初にgitの大まかな流れは勉強しといた方が良いかも。

(参考)https://qiita.com/suzutsuki0220/items/be10604e9e13126eba44

<目次>

  • 1.4.3 Bitbucket
    • git push -u origin --all(リスト1.11)でエラーが出る
  • 1.5.3 Herokuにデプロイする (2)
    • Heroku関連コマンドが使えない
    • ブラウザに"Hello,world!"のページが出力されない
      • 原因①:そもそもgit pushしていない
      • 原因②:heroku上に複数アプリがあるため干渉していたり、正常にデプロイ出来ていない

1.4.3 Bitbucket

git push -u origin --all(リスト1.11)でエラーが出る

$ git push -u origin --all
----

Bad owner or permissions on /home/hoge/.ssh/config

ググった結果、configファイルにはパーミッションというアクセス許可範囲が定められていて、AWSのデフォルトだとそれがガバガバなそう。ガードが甘すぎると怒られてしまうようです。
そこで、パーミッションの範囲をちゃんと定める命令を出します。

# パーミッションを限定
$ chmod 600 ~/.ssh/config

この後にgit push -u origin --allをかましてやると、上手く動いてくれました。

※参考にしたサイト↓
https://sekisuiseien.com/computer/11256/

1.5.3 Herokuにデプロイする (2)

Heroku関連コマンドが使えない

デフォだと、それまでherokuが使えていても、cloud9をログアウト・タイムアウトする度にherokuが使えなくなります。以下のエラーが出ます。

$heroku --version
heroku: command not found

herokuのversion確認だけでなく、heroku login --interactive等も同様のエラーが出ます。

このエラーの修正ですが、
まずは通常時はツリーに表示されない、いわゆる隠しファイルである.bash_profileに以下のコードを追加します。
(.bash_profileの位置はhttp://rakuda3desu.net/rails-railstutorial211-241/
を参照させて頂きました)

# $PATHの設定を追加
PATH=/usr/local/heroku/bin:$PATH

追加後、インスタンスを再起動すると・・・
(インスタンスの再起動方法はわかりづらいので、https://qiita.com/at0arumati/items/2001a7d48384231d5e01
で解説しています!)

image.png

↑このようにheroku関連のコマンドが使えるようになりました。

※参考にしたサイト↓
http://rakuda3desu.net/rails-railstutorial211-241/

ブラウザに"Hello,world!"のページが出力されない

・原因①:そもそもgit pushしていない

gitを理解していない初学者にありがち。(つい最近までの私。)
herokuに更新内容を送らないといけません。

手順としては、

gemfile等の編集(要はアプリ内容の変更)

 git commit -a -m "Update Gemfile for Heroku"

 git push heroku master

これで私はいけました。

・原因②:heroku上に複数アプリがあるため干渉していたり、正常にデプロイ出来ていない

私はこのパターンでした。デプロイの命令自体は上手くいくのですが、ブラウザ上で表示すると、「Heroku | Welcome to your new app!」となってしまい、Hello,world!が表示される雰囲気はありませんでした。

image.png
(このような画面が表示されます)

この場合は、Heroku上に既存のアプリを一度全て削除することで解決しました。

# アプリの削除(確認無し)
heroku apps:destroy --app アプリ名 --confirm アプリ名

これで $heroku createからやり直しましょう。

※参考にしたサイト↓
http://slowquery.hatenablog.com/entry/2014/04/06/112330

以上になります。

progateやドットインストールばかり学習していた私には障壁の多いRailsチュートリアルですが、躓きながらも確実に成長していきたいです。
各章終わる度に記事書いて行きたいと思います。

0
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
0
0