1
0

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 5 years have passed since last update.

[Rails]Webアプリケーションを開発するための環境構築

Posted at

はじめに

普段Railsを使用してアプリの作成を行なっており、基本的に開発を始める際に一度行えば、繰り返し行うことは無いです。
ですが、今回ふと環境構築ってどうやってたっけな?ってなったので、その構築方法について記載します。(ターミナルにコマンドを打ち込んでいきます。)

前提条件

MacOSがCatalina以降

# zshをデフォルトに設定
$ chsh -s /bin/zsh

# ログインシェルを表示
$ echo $SHELL
# 以下のように表示されれば成功
/bin/zsh

Command Line Toolsをインストール

Command Line ToolsはWebアプリケーション開発に必要なソフトウェアをダウンロードするために必要な機能です。

以下でソフトウェアをインストールします。

$ xcode-select --install

Homebrewを用意する

Homebrewとは、macOS用のパッケージマネージャー(ソフトウェア管理ツール)で、Macのターミナルから簡単にソフトウェアをインストールできるようになります。

パッケージマネージャーとは、コンピュータに何のソフトウェアがインストールされたかを記録し、新しいソフトウェアのインストール・新しいバージョンへのソフトウェアの更新・以前インストールしたソフトウェアの削除を容易に行えるようにするプログラムです。

パッケージマネージャーの必要性

一つのソフトウェアが複数のソフトウェアを利用するため、『ソフトウェアAをアップデートしたらソフトウェアBとCが動かなくなった』という状況が発生します。これは『ソフトウェアB 5.0 にはソフトウェアA 2.0 以上が必要』といった関係があるためです。これをソフトウェアの依存関係と言います。

無数のソフトウェアの依存関係を手動で管理するのは面倒過ぎるので、パッケージマネージャーがよく使われます。パッケージマネージャーは『そのソフトウェアにどのソフトウェアのバージョン何以上が必要か』、『今インストールされているソフトウェアは何か』といった情報を持っているため、必要に応じてソフトウェアを勝手にダウンロードしてきてインストールしてくれます。

Homebrew以外だと

調べたところ、Homebrew以外にmacOSのパッケージマネージャーは以下がありました。

  • Macports
  • Fink
  • Gentoo Prefix

Macportsとの違いについては以下の記事がありました。
パッケージ管理システム Homebrew

Homebrewをインストール

話が逸れたので、本題に戻ります。

$ cd  # ホームディレクトリに移動
$ pwd  # ホームディレクトリにいるかどうか確認
$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"  # コマンドを実行

以下のコマンドでインストールが完了しているか確認できます。

$ brew -v

Homebrewをアップデート

$ brew update

Homebrewの権限を変更

$ sudo chown -R `whoami`:admin /usr/local/bin

新しいバージョンのRubyをインストール

Webアプリケーションの開発においては専用にRubyをインストールする必要があります。

rbenv と ruby-buildをインストール

Rubyの土台となる、rbenvとruby-buildを、Homebrewを用いてインストールします。

<rbenv>
~/.rbenv/以下で、インストールした様々なRubyバージョンを管理し、状況に応じて必要になるRubyのバージョンを切り替えて提供してくれます。

わかりやすい記事がありました。
複数のバージョン管理も楽々!rbenvを利用したruby管理方法チュートリアル

<ruby-build>
rbenvのプラグインの1つです。"rbenv install"というRubyのバージョンをインストールするコマンドを提供しています。rbenvをインストールする際に、セットでインストールします。

$ brew install rbenv ruby-build

rbenvをどこからも使用できるようにする

$ echo 'eval "$(rbenv init -)"' >> ~/.zshrc

zshrcというのは、設定ファイルの名称です。

zshrcの変更を反映させる

設定ファイルであるzshrcを修正したので、以下のコマンドでzshrcを再読み込みし、変更を反映させましょう。

$ source ~/.zshrc

readlineをインストール

ターミナルのirb上で日本語入力を可能にする設定を行います。

$ brew install readline

readlineをどこからも使用できるようにする

$ brew link readline --force

rbenvを利用してRubyをインストール

Webアプリケーション開発用のRubyをインストールします。

今回は2.5.1をインストールします。

$ RUBY_CONFIGURE_OPTS="--with-readline-dir=$(brew --prefix readline)"
$ rbenv install 2.5.1

利用するRubyのバージョンを指定

インストールしたRuby 2.5.1を使用するために、以下のコマンドを実行しましょう。

$ rbenv global 2.5.1

これまで使用していた、デフォルトでPCに入っていたRubyから、先ほどインストールしたRubyを使用するように切り替えることができました。

rbenvを読み込んで変更を反映させる

Rubyのバージョンを切り替えたので、以下のコマンドでrbenvを読み込み、変更を反映させます。

$ rbenv rehash

データベース管理システムの用意

データベースは「RDBMS」と「NoSQL」という2種類のデータベースがあります。「RDBMS」は動作が遅いですがデータの関係性が担保でき正確に確実に保存できます。一方、「NoSQL」は処理が非常に高速ですが単純な構造のデータしか保存できません。
今回は「RDBMS」であるMySQLを使用します。
ちなみに「RDBMS」には他にPostgreSQLやOracleがあります。
「NoSQL」にはMongoDBなどがあります。

MySQLのインストール

$ brew install mysql@5.6

MySQLの自動起動設定

MySQLは本来であればPC再起動のたびに起動し直す必要がありますが、それは面倒であるため、自動に起動するようにしておきましょう。

$ mkdir ~/Library/LaunchAgents 
$ ln -sfv /usr/local/opt/mysql\@5.6/*.plist ~/Library/LaunchAgents
$ launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mysql\@5.6.plist

mysqlコマンドをどこからでも実行できるようにする

rbenvやreadlineの時と同様に、どこからでもMySQLを操作するためのコマンドmysqlを実行できるようにしましょう。

# mysqlのコマンドを実行できるようにする
$ echo 'export PATH="/usr/local/opt/mysql@5.6/bin:$PATH"' >> ~/.zshrc
$ source ~/.zshrc
# mysqlのコマンドが打てるか確認する
$ which mysql
# 以下のように表示されれば成功
/usr/local/opt/mysql@5.6/bin/mysql

mysqlの起動を確認

# mysqlの状態を確認するコマンドです
$ mysql.server status

# 以下のように表示されれば成功
 SUCCESS! MySQL running

Railsを用意

bundlerをインストール

Rubyの拡張機能(gem)を管理するためのbundler(バンドラー)をインストールします。

<bundler>
gem同士の互換性を保ちながらパッケージの種類やバージョンを管理してくれる仕組みのこと。

$ gem install bundler

Railsをインストール

$ gem install rails --version='5.2.3'

rbenvを再読み込み

一通り開発に必要なものはインストールできたので、以下のコマンドでrbenvを読み込んで、変更を反映させましょう。

$ rbenv rehash

Node.jsを用意

Railsを動かすためにはnode.jsが必要となり、それをHomebrewを用いてインストールします。

$ brew install nodejs

以上でアプリ開発のための環境構築は完了です。

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?