Ruby on Railsで新規でプロジェクトを作成するたびに各手順をググっていては時間がもったいない。
ということで備忘録的な意味も込めて、開発環境においてRails新規プロジェクトを作成する一連の手順をまとめてみました。
はじめに
- Rails5でプロジェクトを作成する前提で記載しております。
- Rubyの環境構築完了後からの手順となっております。
- コマンドはMac、Linux環境のものを記載しております。Windows環境で開発をしている方は適宜読み替えて実施してください。
- 各種gemをローカルインストールすることでプロジェクト毎にgemを管理できる手順となっております。複数のプロジェクトをきれいに共存させたい方にオススメ
新規プロジェクト作成
ディレクトリ作成
Railsアプリケーション用のディレクトリを作成し、作成したディレクトリに移動します。
~/workspace $ cd myapp1/
bundle init & Gemfile修正
bundle initを実行します。
bundle initを実行するとGemfileが作成されますので、以下のように編集します。
# frozen_string_literal: true source "https://rubygems.org" # gem "rails" gem 'rails', '~> 5.1.3'
※Railsのバージョンは適宜自分の使いたいものに書き換えてください。
その後Railsアプリケーション用のディレクトリにbundle installを実行します。
bundle install
※このとき--path vendor/bundleは忘れないようにしましょう。
このオプションを使用することによって、アプリケーション用ディレクトリ配下の.bundleディレクトリ内のconfigファイルに以下のような記述が追加されます。
--- BUNDLE_PATH: "vendor/bundle" BUNDLE_DISABLE_SHARED_GEMS: "true"
BUNDLE_PATHはbundleのインストール先パス
BUNDLE_DISABLE_SHARED_GEMSはシステムにインストールをされているgemを使用しないという設定です。
--path vendor/bundleは次回以降のbundle installでは指定する必要はありません。
※1回目のbundle installは失敗する場合があります。その際はもう一度同じコマンドを実行してください。2回目が成功で完了すればOKです。
rails new
次は現在のディレクトリにRailsプロジェクトを作成します。
コマンドを実行した際、
Overwrite /home/tobita/workspace/api_react/Gemfile? (enter "h" for help) [Ynaqdh]
と表示されますが、Yを入力して処理を継続させてください。Gemfileを上書きするよーと言っています。
bundle execはvendor/bundle配下に存在するgemを指定するために必要な指定となっております。
毎回bundle execを指定するのがめんどい人は
alias be="bundle exec"
を.bashrcなどに設定するなりコマンドを打つなりするればbe rails s といったように省略形で実行できます。
MySQLでプロジェクトを作成したい場合
APIモードでプロジェクトを作成したい場合
/workspace/myapp1 $ bundle exec rails new . --api
以上でひとまずはRailsプロジェクトの作成が完了しました。
これ以降は大体の環境開発で必要となる初期設定について記載していきます。
データベース初期設定
僕は開発環境でも基本的にMySQLを使用しておりますので、MySQLでの方法を書いていきます。
他のDBの場合、各種データベース作成の手順に従って実施してください。
MySQLログイン
新規ユーザー作成&確認
GRANT ALL PRIVILEGES ON *.* TO myapp1@localhost IDENTIFIED BY 'myapp1';
select host,user from mysql.user;
database.yml修正
データベース接続に関する設定を行います。
default: &default adapter: mysql2 encoding: utf8 pool: 5 username: myapp1 password: myapp1 socket: /var/run/mysqld/mysqld.sock // 以下省略
基本的には先ほど作成したDBユーザーの設定をusername/passwordの部分に反映させるだけでOKです。
※socketについては環境によって異なってくるかと思いますので、基本的にはデフォルトのままにしておいてください。自動で生成されるconfigにsocketが存在しない場合、追加しなくて問題ありません。
DB作成&マイグレート
/workspace/myapp1 $ bundle exec rails db:migrate
Gitの設定
基本的に開発環境にはバージョン管理が必須です。
その為アプリケーションのディレクトリにGitの設定を行います。
Git自体はインストールされている前提で説明いたします。
使用しているPCで初めてGitを使用する場合
git config --global user.email your.email@example.com
git init
/workspace/myapp1 $git init
gitignoreを設定
git上にアップしたくないファイルを設定します。
Githubにある.gitignoreの設定例が一番確実かなと思います。
もうちょっとシンプルにまとめたい場合下記のリンクの設定もオススメです。
http://source.hatenadiary.jp/entry/2014/02/09/084318
git add
初期コミット
~/workspace/myapp1 $ git commit -m "Initialize repository"
リモート設定
Gitリポジトリサービスの登録は済ませておいてください。
ソースを公開したくない場合Bitbucketを
ポートフォリオ的にも活用したい場合はGitHubを
といった基準で自分は選択しています。
登録しているサービスでリポジトリを作成するとリモート設定のコマンドが表示されますので、そちらを実行しましょう。基本的には以下のような形です。
git push
~/workspace/api_react $ git push -u origin master
まとめ
環境環境にてプロジェクトを新規で作成する際の初期作業はこんな感じです。
一連の流れに慣れるまでブックマークして活用などしていただけると嬉しい限りです。