search
LoginSignup
5

More than 1 year has passed since last update.

posted at

updated at

Ruby on Railsのローカル環境構築

今までRailsアプリの開発環境は全部Dockerで作ってたけど、雑に作って挙動確認したい時とかにいちいちDockerで環境作るの面倒なので、ローカルにもRailsの環境を作っておく。

作るもの

  • DBはsqlite
  • Rubyのバージョンはrbenvで管理

前提

  • macOS Catalina 10.15.7
  • Homebrewが使える
  • シェルはzsh

rbenvをインストール&セットアップ

$ brew install rbenv ruby-build
$ rbenv -v      
rbenv 1.1.2
$ vim ~/.zshrc
.zshrc
eval "$(rbenv init -)"
$ source ~/.zshrc

Rubyをインストール

$ rbenv install --list # インストールすることが可能なRubyのバージョン一覧が表示される
$ rbenv install 2.7.2 # Ruby 2.7.2をインストール
$ rbenv versions # 現在インストールされているRubyのバージョン一覧
$ rbenv global 2.7.2 # 今回インストールしたバージョンのRubyを使用するように設定を変更
$ exec $SHELL -l
$ ruby -v
2.7.2 # 違うバージョンが表示されたら、シェルを再起動して再確認する

Railsをインストール

$ gem install rails -v "6.1.3.1"
$ exec $SHELL -l
$ rails -v
Rails 6.1.3.1

Railsアプリを作成、動作確認

$ rails new sample_app
$ cd sample_app
$ rails s

http://localhost:3000
にアクセスして表示を確認。

その他

  • システムのRuby(Macに元々入ってるRubyを使うと、パーミッションの問題でRailsがインストールできないからrbenvとか使った方が良い)
  • .zshrc内の記述について
    • evalは引数にセットしたコマンドを実行するコマンド
    • ここではrbenv init -を実行している
    • なぜ直接実行せず、evalを通しているのか?
      • rbenv init -の内部の処理でexportコマンドで環境変数を設定する処理がある
      • シェルスクリプトはサブシェル等で実行されるため、コマンド内で変数をexportしても元のシェルにはなんら影響がない
      • evalを使ってexportすると、元のシェルに環境変数を設定することができる
  • rails 6.1.3をインストールしようとしたら、mimemagic関連のエラーが出たから6.1.3.1に変更した

参考

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
What you can do with signing up
5