【mac】Ruby on rails 6 + PostgreSQL 開発環境構築

【mac】Ruby on rails 6 + PostgreSQL 開発環境構築

先日新しく購入したmacbookairにRuby on railsの開発環境を構築していきたいと思います。

実行環境

macOS Catalina 10.15.3

Rubyのインストール

まずはRubyのインストールからです。
mac標準のrubyでも良いですが、最新バージョンを使いたかったので、rbenvを使ってインストールしていきます。
rbenvを使うことでrubyの管理が簡単になり、複数のバージョンのrubyを自由に切り替えることができます。
インストールはパッケージマネージャーの「Homebrew」を使います。

【2020年】MacOS用パッケージマネージャー「Homebrew」インストール

brew install rbenv

rbenvのインストールには ruby-buildも含まれます。

次にrbenvコマンドを利用するために、パス設定と初期化処理を.zshrcに追加します。

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

ターミナルを立ち上げ直して、正しくインストールできているか確認します。

rbenv -v

rbenvを使ってRubyをインストールします。バージョンはお好みで。

rbenv install 2.7.1

デフォルトのRubyを設定します。

rbenv global 2.7.1

rbenvでインストールしたバージョンのRubyが利用できるか確認します。

ruby -v

Bundlerをインストール

次にBundlerをインストールします。Bundlerはプロジェクトで使うgemを束ね、どのgemのどのバージョンが必要なのかを明示します。

gem install bundler

Railsのインストール

いよいよRailsのインストールです。
最新版が欲しいので引数抜きでコマンドを入力します。

gem install rails

インストールされたか確認します。

2020年4月時点で最新の6.0.2がインストールされました!

Node.jsのインストール

Railsアセットパイプラインのコード(効率よく配信するためJavascriptを圧縮するため)をコンパイルするのにJavaScriptのランタイムが必要なので、Node.jsを利用します。

brew install node

PostgreSQLのインストール

最後にデータベースソフトであるPostgreSQLを使いたいのでインストールを行います。

brew install postgresql

PostgreSQLを起動します。

brew services start postgresql

ちなみに停止は以下のコマンド

brew services stop postgresql

実際にコンソールに入って確認します。

psql postgres

終了は「\q」で。

Railsアプリの作成

下ごしらができたので、Railsファイルを作成したいディレクトリに移動して、アプリケーションを新規作成します。

rails new sandbox -d postgresql

ファイルが生成されていることを確認します。

次にデータベースを作成します。

rails db:create

最後にPumaを利用してサーバを立ち上げます。

rails s

すると以下のエラーが発生

Webpacker configuration file not found /Users/tmac/Workspace/sandbox/config/webpacker.yml. Please run rails webpacker:install Error: No such file or directory @ rb_sysopen - /Users/tmac/Workspace/sandbox/config/webpacker.yml (RuntimeError)

webpackerをインストールします。(webpackerの利用にはYarnが必要です。)

run rails webpacker:install

ブラウザのアドレスバーに(http://localhost:3000/)入力して、愉快な画面が出てきたら構築完了です。

無事起動できましたが何やらログで警告を吐いてます。

/Users/tmac/.rbenv/versions/2.7.0/lib/ruby/gems/2.7.0/gems/actionpack-6.0.2.2/lib/action_dispatch/middleware/stack.rb:37: warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call
/Users/tmac/.rbenv/versions/2.7.0/lib/ruby/gems/2.7.0/gems/actionpack-6.0.2.2/lib/action_dispatch/middleware/static.rb:110: warning: The called method `initialize' is defined here

以下の記事を参考に警告を一時的に消すこととします。

echo "export RUBYOPT='-W:no-deprecated -W:no-experimental'" >> ~/.zshrc

How to fix Rails’s warning messages with Ruby 2.7.0

Ruby 2.7 とRails 6.0.2.1でrailsコマンドをたたくとすごいwarningがでる

最新の環境が手に入ったので、早速WEBアプリケーションの開発を進めていこうと思います。