MacでRuby on Railsの環境構築するときの簡単な手順です!とりあえず、何もないところからrails sでサーバーを立ち上げるまでです!
homebrewをインストール
コマンドは上記のHomebrewのサイトからコピー可能
途中でEnterの入力/インストールユーザのOSパスワードの入力を求められる
ターミナルにコードをコピペ
$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Xcode Command Line Toolsのインストール
ログ中に英語で、
「Xcode Command Line Toolsをインストールされます。続ける場合はRETUENを押してください」
ということが書いてあります。
指示通り「RETURN」キーを押すと、
その直後にパスワードを入力するように求められますが、Macの画面のロックを解除するパスワードを入力し、Xcode Command Line Toolsが自動で、インストールされます。
ここまででが一連のインストールの手順です。
Homebrewインストール完了確認
$ brew doctor
Your system is ready to brew.
homebrewでMySQLをインストール
$ brew update
$ brew install mysql@5.7
バージョンを指定してインストールしていますが、バージョンを指定しなければ現在は、MySQL8がインストールされます。現状はまだ、@5.7で走っているプロジェクトが多そうなので、いったん、@5.7でインストールします!
インストールが終わったら、内容を見てみます。
$ brew info mysql
MySQL の起動
$ mysql.server start
Starting MySQL
SUCCESS!
接続
$ mysql -u root
※-bash: mysql: command not found
とか、-zsh: mysql: command not found
とかが出て、コマンドが打てないことがたまにある。
この場合、コマンドのpathが通っていないことが多い。
.zshrcファイルにpathを記載してコマンドが打てるようにする必要がある。(ログインシェルに何を使っているかで、設定ファイルの名前は変わる。今回はzshを想定している。)
以下のコマンドで隠しファイルを開く。
$ open ~/.zshrc
export PATH=/usr/local/opt/mysql@5.7/bin:$PATH
mysql@5.7のところはそれぞれ使っているmysqlによって変える。
以下のコマンドで環境変数の設定を反映させる。(これを打たないとターミナルを再起動しないと反映されない。)
$ source ~/.bash_profile
※ちなみに、mysqlのログイン時のパスワードを変更する場合は、
コマンドラインから
$ mysqladmin password 新しいパスワード -u ユーザー名 -p
から可能です!(デフォルトではrootユーザーのパスワードは設定されません。)
homebrewを使用して、rbenvおよびruby-buildをインストール(インストール済みの場合は不要)
rbenvインストール
$ brew install rbenv
$ brew install ruby-build
・ruby-buildは、rbenvのプラグイン。($rbenv install
コマンドを使うためのプラグイン)
・この後、$ rbenv install
コマンドで、rubyをインストール
rbenvでrubyを見るための設定をする
mac osのバージョンによって対応が異なる。
macOS High Sierra (ハイ シエラ)など、macOS Catalina (カタリナ)より前のバージョン
.bash_profileに必要な設定を記載する。以下のコマンドで記載させる。
.bash_profileがない場合は、自分で作る。
方法は、$ vim ~/.bash_profile
などで作成。
以下のコマンドを打って、ファイルに書き込むか、直接テキストエディターから編集する。
$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
$ echo 'if which rbenv > /dev/null; then eval "$(rbenv init -)"; fi' >> ~/.bash_profile
以下のコマンドで環境変数の設定を反映させる。(これを打たないとパソコンを再起動させて再度ログインしないと設定変更が反映されない)
$ source ~/.bash_profile
or
$ source ~/.zshrc
macOS Catalina (カタリナ)
macOS Catalina から、デフォルトシェルが bash から zsh に変更されている。
なので、.zshrcを作ってそこに設定を書きます。(こちらは直接テキストエディターを編集する方法を紹介しています。)
$ vim ~/.zshrc
以下の記載をする
export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init - zsh)"
こちらのコマンドで環境変数の設定を反映。
$ source ~/.zshrc
これら設定を行うことで、rbenvを使ってrubyのバージョンを反映することが出来ます!
※メンタをやっていて、これらの設定を行わないと、ruby -vでバージョンが変わらないケースがあったので要注意
Rubyをインストール
rbenvでrubyをインストール
$ rbenv version
を実行し、rbenvで管理されているrubyのバージョンを確認
→開発で使用したい該当のバージョンがなければインストールする必要あり。
$ rbenv install 2.6.5
(バージョンは一例)
$ rbenv global 2.6.1
→rbenvのバージョンを切り替える
$ rbenv rehash
→反映
$ ruby -v
→rubyバージョンを確認
- Rubyコマンドの参照先をチェック
rbenvの参照先を確認
$ which ruby
/.rbenv/shims/ruby
rbenvでRubyをインストールすると/.rbenv/shims/rubyが正しい参照場所なので、このように出ていれば正解です!
※rubyのインストール時にエラーが出た場合
If you don't have the version you need, try upgrading ruby-build: brew update && brew upgrade ruby-build
このエラーが出れば、指摘通り以下のコマンド実行
$brew update
$brew upgrade ruby-build
その後、もう一度トライすると上手くいく
$rbenv install 2.6.5
$ rbenv install 2.6.1
→rbenvでrubyをインストールする
Railsを設定
- 新アプリ名のディレクトリを作成
-
$ cd ~/<ディレクトリ名>
コマンドで、アプリディレクトリに移動
$ bundle init
→Gemfileを作成
できあがったGemfileのRailsのコメントアウトを外す
gem "rails"
→Gemfileでrailsのバージョンを確認
bundlerのインストール
$ gem install bundler
$ bundle -v
→bundlerのバージョンを確認
補足
・gemを管理するシステムがRubyGems
・RubyGemsはRubyに標準添付されているシステムなのでRubyが使える状態ならすぐに使うことができる。→rubyに同梱(セット)
→同梱のバージョン確認には
$ gem update --system
・bundlerはgemの一種で、gemをデフォルトのRubyGemsより効率よく管理できるツール。まず最初に、RubyGemsを使ってbundlerをインストール
・bundlerを使ってgemをインストール
・BundlerはGemfileをもとにgemをインストールする。
・gemをシステムにインストールするのではなく、ディレクトリ内で管理する。
・そのためにpathオプションをつける。
$ bundle install --path vendor/bundle
でpathオプションをつける。このことにより、コマンドの頭にbundle execコマンドをつけて、実行する。
・railsもgemの一種
Rails(gem)のインストール
$ bundle install --path vendor/bundle
※もし以下のようなbundlerのバージョンエラーが出たら
To update to the latest version installed on your system, run `bundle update --bundler`.
To install the missing version, run `gem install bundler:2.0.2
→$ gem install bundler
で最新のbundlerをインストール
→$ rbenv rehash
→$ bundle -v
でbundlerのバージョン確認
→その後もう一度
$ bundle install --path vendor/bundle
rails new
$ cd ~/<ディレクトリ名>
で、アプリのディレクトリに移動
$ bundle exec rails new . -d mysql --skip-turbolinks --skip-test --skip-coffee
→.はカレントディレクトリを意味する
→gemfileの上書きを聞かれた場合は、yes入力でgemfileを上書き
→bundle installも自動でやってくれる
→うまく行かなければ
$ bundle update
※ mysqlエラー出た場合
以下をやってみる
$ bundle config --local build.mysql2 "--with-ldflags=-L/usr/local/opt/openssl/lib"
$ bundle install
nodeを使う場合(nodeを使わないのであれば飛ばしてください)
nodeのバージョンなどをいじる場合は以下の記事を参照
→https://qiita.com/kenkentarou/items/f27bd4e49af6fe429429
※nodeとは
関係性
ruby <-> node
rbenv <-> nodebrewやnvm
nodeは一つの言語(node.jsと同義)で、nodeは、言語としても扱うし、サーバーサイドで動くためにコンパイルするシステムとしても使われる
データベースの設定
データベースの設定ファイルを作成
通常の現場では、datebase.yml.defaultというファイルを作成して、設定情報はrootなどセキュリティー上影響ない初期値を入れておき、こちらをgit管理します。
ローカルで作業する際には、datebase.yml.defaultをコピーして、database.ymlというファイルを作成し、自身のPC上の設定に合わせ修正したものを使います。自身の設定に合わせたdatabase.ymlを作成しないと、ローカルでデータベースを走らせることができません。
以下のコマンドを実行し、database.yml.defaultをコピーして、自身の環境に合わせたdatabase.ymlを作成しましょう。
$ cp config/database.yml.default config/database.yml
- database.ymlの設定を自身の環境に合わせて修正
ユーザー名やパスワードの設定
ローカル上にデータベーステーブル作成
-
$ bundle exec rails db:create
→データベーステーブル作成
$bundle exec rails db:migrate
→migrationが必要なファイルがあれば実行
サーバー立ち上げ
-
bundle exec rails sコマンドを実行し、railsサーバーの立ち上げ。
-
localhost:3000にアクセスし、完成形画面が表示されることを確認
git hubの初期設定
git hubの登録
git hubのサイトで、普通にユーザー登録をする。
gitの初期設定
$ git config --global user.name "git hub git hubに登録したユーザー名"
$ git config --global user.email git hubに登録したemailアドレス
$ git config --global core.editor "rubymine --wait"
$ git config user.name # 設定したユーザー名を確認できる
$ git config user.email # 設定したメールアドレスを確認できる
$ git config core.editor # 設定したエディターを確認できる
$ git config --list # gitの登録情報全てを表示する
$ cat ~/.gitconfig # .gitconfigという設定ファイルの中身をみる
.gitignore_globalの設定
作業中のすべてのリポジトリで、ある特定のファイルを無視したい場合があったりします。 Mac OS X を使っているのなら、 .DS_Store というファイルとか、エディターにrubymineを使っている場合などは、.ideaファイルなどがそれに当たります。
その場合、.gitignore_globalに記載しておけば、どのプロジェクトでもそのファイルは無視してくれます。
vimのコマンドでファイルを新しく作ります。
$ vim ~/.gitignore_global
ファイル内に何を記載するかはその人によりますが、私の設定は以下のようにしています。
*~
.DS_Store
.idea/
.generators
*.rdb
.rakeTasks
この後、以下のコマンドを打てば反映されます。
$ git config --global core.excludesfile ~/.gitignore_global
ターミナルにブランチ名を表示する設定
今いるブランチがどこかを調べるために、いちいち、$ git branch
とかで確認していると面倒臭いので、常に、今いるブランチ名をターミナルに表示する設定をしておきます。
こちらの記事が参考になったので、こちら記事の通り設定してみてください。
Googleクロムの拡張機能 octotree導入
こういう拡張子があります。かなり作業効率が上がるので、入れておいた方が良いです!
アクセストークンなどの設定が必要になりますが、簡単なので、ググってやってみましょう。
git flowでの管理の場合
git flowがPCに入っている前提で、
(PCにgit flow入れてなければ$ brew install git-flow
でインストール)
$git flow init
→アプリのディレクトリ全体がgit管理対象になる設定は、 git init
と言うコマンドだが、Railsの場合は rails newしたタイミングで良しなにgit init
までやってくれている。git flow init
はgit flowでスムーズに開発するするための初期設定をやってくれるコマンド。
→git flow init
を打つと、ローカルにmasterとdevelopのbranchが出来る
プッシュする前に確認すること
.gitignoreに入れておかなければいけないファイル、ディレクトリが無いかどうか
ex) /vender等
リモートリポジトリにプッシュする
$ git add .
$ git commit -m "inital commit"
$ git remote add origin https://github.com/hoge/hoge.git
$git push --all
→ローカルにあるdevelopとmasterの両方をリモートにあげる
レビューをしやすくするためにrails newの段階でgit flow initをしてmasterとdevelopブランチを自身のパブリックリポジトリに対してプッシュしています!
gitのエイリアスの設定
gitのエイリアスを設定する方法は2つあります。
- .gitconfigファイルを直接編集する
- コマンド打って.gitconfigファイルを修正する
結果、やってることは同じなのですが、両方の方法を紹介します。
.gitconfigファイルを直接編集する
このコマンドで、設定ファイルを開きます。
$ open ~/.gitconfig
このコマンドで、ルートディレクトリにある隠しファイル.gitconfigを開いています。
GUIで操作するなら、直接finderからルートディレクトリに行き、⌘+shift+.で隠しファイルを表示出来ますので、そこから直接クリックして開いても大丈夫です。
開けたら、こんな感じで記述して行きます。以下は私の基本設定です。
[alias]
co = commit
br = branch
ch = checkout
st = status
こうすると、例えば、g$ it commit
は、``$ git co```と打つだけで済みます!
コマンドで打って設定する方法
以下のコマンド打てば、.giconfigファイルに設定が反映されます。
$ git config --global alias.ci commit
こんな感じで打つと、設定できます。
コマンドのエイリアス設定
エイリアス設定をするためには、.bashrcにエイリアスを記述必要があります。
エイリアスは.bashrcというファイルに記述します。
まず、ファイルを開きます。gitのエイリアスの時と同じ要領です。
$ open ~/.bashrc
開いたファイルに以下を記載します。私が書いている設定です。
alias be='bundle exec'
alias bi='bundle install'
次に、bash_profileで.bashrcを読み込む設定をする必要があります。
エイリアスは.bashrcに書いただけでは設定が反映されません。
なので設定を反映させるために、.bash_profileに.bashrcを読んでもらう必要があります。
.bash_profileは パソコンが起動されると読み込まれるものなので、そのタイミングで.bashrcも読んでもらいます。(基本.bashrcはシェルにログインしたタイミングで読み込まれるファイル)
ターミナルから
$ open ~/.bash_profile
と打って、.bash_profileを開き、ファイルの一番下に以下のコマンドを記述しましょう。
$ source ~/.bashrc
そして、この変更自体も反映させなければいけないので、ターミナルから
$ source ~/.bash_profile
を打ちます。
ターミナルの再起動でも.bash_profileが読み直されるのでそれでもオッケーです。
これでエイリアスの設定は完了です。
これらが最初、PCを買った後に行う基本の初期設定です。