2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

rails new から heroku openまで

Last updated at Posted at 2020-11-07

#はじめに
railsチュートリアルで1章と2章を読み、AWScloud9は使わず、ローカルでherokuへデプロイを試みました。
チュートリアルどおりにやっても上手くいかず...
また、流れをまとめたかったので、以下に備忘録として記載します。

3章以降については未読ですので、今後エラーがあるかもしれません。
その場合は分かり次第こちらを更新しようと思います。
初学者が書いてますので、ご指摘ありましたらコメントお待ちしております。

参照:Railsチュートリアル

2020.11.10〜 3章以降のGemfile更新しました!
RailsチュートリアルGemfile編集(3章〜)

#ローカル環境
・MacOS
・Ruby 2.6.6
・Rails 6.0.3.4
・ターミナルとVScode使用

#rails new
ターミナルを開き、railsのフォルダを作りたい場所まで行きます。
今回はデスクトップに作成してみました。

% cd Desktop

新規のrailsフォルダを作成します。
newの後にフォルダ名を入れることで、その名前で作られます。
今回はpractice_appという名前にします。

% rails new practice_app

webpacker successfully installed 🎉 🍰
上記が表示されれば無事作成されていると思います。

ちなみにこの段階で、ディレクトリを移動してサーバー立ち上げをすると成功します。
もし成功していない場合は、事前の環境構築が終わっていない可能性がありますので、エラー文をご確認ください。

% cd practice_app
% rails s

次に、サーバーに
hello, world!
という文字を表示させるよう、VScodeでファイルを編集します。
これをやっておかないで空の状態だとherokuでエラーが出ました...
チュートリアルの3章でも、デフォルトのページのままherokuを使わない方がいいということを書いていますね。

VScodeで下記二つのファイルを編集してください。

まずapp/controllers/application_controller.rbを開きます。
def ~ endまでを追記します。

class ApplicationController < ActionController::Base
  def hello
    render html: "hello, world!"
  end
end

次にconfig/routes.rbを開きます。
root~の一文を追記してください。

Rails.application.routes.draw do
  root 'application#hello'
end

ちなみにこの段階で、

% rails s

をすると、白い背景に「hello, world!」という文字列が表示されます。

#Gemfileの編集
herokuへデプロイするなら避けては通れないGemfileの編集...
チュートリアル通りにコピペしても私の場合は上手くいきませんでした。
そこで、デフォルトの状態から最低限だけ編集することにしました。

gem 'sqlite3', '~> 1.4'

上記を切り取り、
group :development, :test do
の下に貼り付けます。

group :production do
  gem 'pg', '1.1.4'
end

次に、上記をコピーして、group :test do ~ end
の下に貼り付けます。

そして絶対に忘れてはいけないのが

% bundle install --without production

ちなみにGemfileをチュートリアルに合わせると上記でエラーになります...
bundle updateをすれば大丈夫とのことですが、私はそれすらもエラーになりました。
調べるとzshファイルで権限をいじった方がいい?とのこと。
よく分からなくて挫折しました。

参照:gem installでpermissionエラーになった時の対応方法

--without productionオプションは一度すると記憶されるため、二回目以降は省略しても大丈夫だそうです。
Railsチュートリアル3章

#GitとGitHub
※GitもGitHubもアカウントが作成されている前提で進みます。

% git init
% git add -A
% git commit -m "任意のコメント"

上記コマンドまで完了したら、GitHubを開き、New repositoryを選択し、Create repositoryボタンを押します。

そうすると読み込んだページに、githubへpushするためのコマンドが出てきます。
それをコピーしてターミナルで実行します。

% git remote add origin https://github.com/<あなたのGitHubアカウント名>/practice_app.git
% git branch -M main
% git push -u origin main

チュートリアルだとmasterとなっていますが、上記はmainになっています。
自分なんかやらかしたか...と不安になりましたが、こんな理由があったようです。

GitHub、これから作成するリポジトリのデフォルトブランチ名が「main」に。「master」から「main」へ変更

#herokuへデプロイ
ここまで上手くいけば、あとはデプロイするだけ!
下記コマンドを実行します。

% heroku create
% git push heroku main

チュートリアルだとmainではなくmasterですね。
私の場合はmainでないとできませんでした。

上記コマンドを実行すると、出力結果に所々、黄色で「warning」と出てきますが、
赤字の「error」でなければ無視して大丈夫なのでしょうか?
これについても次回までの課題です。

そして最後に!!

% heroku open

を実行して、「hello, world!」の文字列が出てくれば終わりです!

もし上手く行かないときは

% heroku logs

をしてエラー文を確認しましょう。

#最後に
私はここまでたどり着くまで10時間以上かかりました。
今も苦しんでいる初学者の方が一人でも救われますと幸いです。

2
1
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
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?