• Home
  • 【2023年版】Ruby on Railsの環境構築方法

【2023年版】Ruby on Railsの環境構築方法

記事のサムネイル

この記事では、私が2023年の時点で行なっているRuby on Railsの環境構築方法について解説していきます。

Homebrew(brewコマンド)をインストール

まずはHomebrewのインストールを行います。(すでにインストールされている方は読み飛ばしてください。)

最初にvimコマンドで.bash_profileを開いてください。

vim ~/.bash_profile

そして以下コードを記載します。

export PATH=/usr/local:$PATH

ターミナルを再起動して以下のコマンドを実行し

echo $PATH

出力の先頭が以下のように始まっていたらOKです。

/usr/local:...

次に、下記コマンドでHomebrewをインストールします。

$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

ここで一旦下記のコマンドを実行して変更をセーブしてください。

source ~/.bash_profile

バージョンを確認して

brew -v

最新のbrewでなければbrewを最新にしてください。

brew update

ここまででHomebrewのインストールが終わりです。

gitのインストール

次にgitのインストールを行なっていきます。(先ほど同様すでにインストールされている方は読み飛ばしてください)

「git」をインストール

brew install git

下記コマンドでバージョンチェックをして、1.9.1以上であればOKです。

git --version

gitignore_globalの作成

gitがインストールできたら、gitignore_globalの作成をします。

ホームディレクトリに書きコマンドでgitignore_globalを作成してください。

touch ~/.gitignore_global

gitignore_globalでは無視したいファイルを追記することができます。

例えば、gitignore_globalに

.DS_Store

と記述し

gitignore_globalを有効化するために.ターミナル上で

git config --global core.excludesfile ~/.gitignore_global

と実行するとGit管理において.DS_Storeが表示されないようになります。

コミットのための設定

最後にコミットする際の設定を行なっていきます。
初回の1回のみ必要で、その後は不要です。

下記のコマンドを順番に実行してください。

git config --global user.email "(登録したMAIL)"
git config --global user.name "(自分の名前)"
git config --global core.editor 'code --wait'

ここでは下記コマンドで、デフォルトのエディタをVScodeに設定していますが他のエディターに変更することも可能です。

git config --global core.editor 'code --wait'

他のエディタを指定したい方はこちら

https://dev.classmethod.jp/tool/git/qssociating-text-editors-with-git/

ここまででgitのインストールが終わりです。

Rubyの設定

最後にRuby(Ruby on Rails)の設定をしていきます。

「rbenv」と「ruby-build」のインストール

最初にrubyのバージョンを上げるために、「rbenv」というRubyのバージョンを管理するためのコマンドと、「ruby-build」というRubyのビルド(構築)を支援するためのコマンドをインストールします。

brew install rbenv ruby-build

「rbenv」と「ruby-build」のインストールが完了したら、バージョンチェックを行なってください。

rbenv --version

バージョンが0.4以上ならOKです。

rbenvを使ってインストール可能なRubyのバージョンを確認しておきましょう。

rbenv install -l

上記コマンドだと出力が多いので

rbenv install -l | grep 2.3.1

で探してもらうと良いと思います。

また、今後の作業のために「lv」をインストールしておきましょう。

brew install lv
lv -v

エラーが表示されなければOKです。

「Ruby」のインストール

そしてキモとなるRubyをインストールします。

#「Ruby 2.3.1」をインストール

$ rbenv install 2.3.1
RUBY_CONFIGURE_OPTS="--with-openssl-dir=/usr/local/opt/openssl" rbenv install 2.3.1

「Ruby」のインストールが終わったら、使用する「Ruby」のバージョンをチェックしましょう。

rbenv versions

想定としては以下のようになると思います。

rbenv versions
* system (set by /usr/local/var/rbenv/version)
  2.3.1

#Rubyが複数ある場合は使用するバージョンを指定

rbenv global 2.3.1

#以下でOK

rbenv versions
  system (set by /usr/local/var/rbenv/version)
* 2.3.1

ruby -v
#2.3.1ならOK

#バージョンが2.3.1になっていなかった時

echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
source ~/.bash_profile

#もう一度

ruby -v
#2.3.1ならOK

PostgreSQLのインストール

まずは、PostgreSQLが入っているか確認してください。

psql --version

入っていなければbrewでPostgreSQLをインストールします。

brew install postgresql

インストールができたら、プロセスが起動しているかを確認してください。

ps ax | grep postgres

#以下のような結果なら起動しています。
1151 ?        S      0:05 /usr/lib/postgresql/9.5/bin/postgres -D /var/lib/postgresql/9.5/main -c config_file=/etc/postgresql/9.5/main/postgresql.conf
1288 ?        Ss     0:00 postgres: checkpointer process
1289 ?        Ss     0:00 postgres: writer process
1290 ?        Ss     0:00 postgres: wal writer process
1291 ?        Ss     0:03 postgres: autovacuum launcher process
1292 ?        Ss     0:04 postgres: stats collector process

もし起動していないようであれば、以下コマンドを実行してpostgresを起動してください。

brew tap homebrew/services

brew services start postgresql

postgresが起動できたら、停止できるかも確認しておきましょう。(確認ができたら再度起動しておいてくださ)

brew services stop postgresql

最後にデータベースの初期化をしておきましょう。

initdb /usr/local/var/postgres -E utf8

プロジェクトのclone

ここまで来るとRubyが使えるようになっているはずなので、プロジェクトをクローンした後の流れも説明していこうと思います。

まずは対象のプロジェクトをクローンしてください。

git clone リポジトリのURL

データベース接続用ファイルの変更

データベース接続用ファイルの変更をします。

cd クローンしたリポジトリ
cp config/database.yml.example config/database.yml

bundleインストール

次にbundleのインストールを行います。

bundle install --path=vendor/bundle

もし、bundle installのpgインストールで止まった場合は、「pg_config」のパスを渡して再実行してください。(9.4などのバージョンは環境によって違います)

gem install pg -- --with-pg-config=/Library/PostgreSQL/9.4/bin/pg_config

Bundle installで詰まった時

Bundle installで詰まった時があったので解消方法を記載しておきます。

エラーメッセージ

⇨Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
—————————————————————
An error occurred while installing libv8 (3.16.14.19), and Bundler cannot continue.
Make sure that `gem install libv8 -v '3.16.14.19' --source 'https://rubygems.org/'` succeeds before bundling.

In Gemfile:
  therubyracer was resolved to 0.12.3, which depends on
    libv8

—————————————————————

下記コマンドを実行することでエラーが解消されました。

brew install v8-315
bundle config --local build.libv8 --with-system-v8
bundle config --local build.therubyracer --with-v8-dir=$(brew --prefix v8-315)
bundle install --path=vendor/bundle

bundleインストール後

bundle install後にgit statusをすると下記のように返ってくることがあります。

On branch dev
Your branch is up to date with 'origin/dev'.

Untracked files:
  (use "git add <file>..." to include in what will be committed)
	vendor/

nothing added to commit but untracked files present (use "git add" to track)

その場合は.git/info/excludeをエディターで開いて最後の行に「vendor」を書き加えて見てください。

その後にgit statusをして消えてたらOKです。

データベースの設定

bundle installが正常に終わったら、データベースの設定をします。

データベースを作成

bundle exec rake db:create
#想定する実行結果
Created database 'データベース名'
Created database 'データベース名'

データベースのマイグレーション(データベース作製後に必要な操作です)

bundle exec rake db:migrate

データベースにSeedを利用してデータを挿入(Seedファイルがあれば)

bundle exec rake db:seeds:development

サービスの起動(ローカルサーバーの起動コマンド)

ここまでくればローカルの環境でRuby on Railsが動くので、以下コマンドでサーバーを起動して見て下さい。

bundle exec rails s -p 4000 -b 0.0.0.0

すると、以下のURLにブラウザでアクセスできるようになると思います。

http://localhost:4000/

実装やエラーが解決できない場合

プログラミングの実装やエラーでどうしてもわからない場合はメンターに相談するのが一番です。

考えている、見えている範囲が狭くなり、解決から遠くに行って何時間も、何日も経っていることなんてよくある話です。

そういう時は聞ける先輩や、メンターに相談することが大事です。

僕にも相談可能なので気軽に相談してください。

ご相談はこちら
(Twitterのプロフィールへ飛びます)

OTHER ARTICLES

  • Web制作

  • Rails

railsでjsではなくrubyでtooltipの単位を設定するときの話

2024/08/20
  • Web制作

  • Rails

Railsにおけるクラスメソッドとインスタンスメソッドの違いについて

2024/05/30
  • Web制作

  • Docker

  • Rails

DockerでRails7 + PostgreSQL + esbuildの環境を構築する方法

2024/05/16
  • Web制作

  • Rails

  • Docker

Dockerで建てたrails7環境で「undefined method `devise' for 〜」が発生した話

2024/05/16
  • Web制作

  • Rails

Ruby on RailsのルーティングとRESTfulルート

2024/05/09
  • Web制作

  • Rails

Ruby on Railsにおけるresourceとresourcesの違い

2024/05/01