Macへのruby及びrailsの環境構築をしたときのメモ。
※2018/2/5 CentOSに導入する手順を追記
Macへの導入手順
rbenvとruby-buildをインストール
rubyバージョン管理ソフトのrbenvをインストール。
brew install rbenv
vi ~/.zshrc # zshrcを編集
# 下記を追記
export RBENV_ROOT=/usr/local/var/rbenv
if which rbenv > /dev/null; then eval "$(rbenv init -)"; fi
source ~/.zshrc # 設定を反映
rbenv -v # バージョン確認
> rbenv 0.4.0
rubyの導入にはrbenv install
コマンドが必要。このためにruby-build
プラグインを導入する。また、最新バージョンのrubyを導入するためrbenvのアップデートも同時に行う
brew install ruby-build
# 一旦動作確認でrubyのバージョン一覧を表示する
rbenv install -l
# ruby-buildをupgrade
brew update
brew upgrade ruby-build # ※xcodeがないと言われたら下記を参考にし、xcodeを導入する
# 再びバージョンリストを取得
rbenv install -l
# バージョンを指定してインストール
rbenv install 2.4.3
~$ brew upgrade ruby-build
==> Downloading https://homebrew.bintray.com/bottles-portable/portable-ruby-2.3.3.leopard_64.bottle.1.tar.gz
Already downloaded: /Users/ogyu/Library/Caches/Homebrew/portable-ruby-2.3.3.leopard_64.bottle.1.tar.gz
==> Pouring portable-ruby-2.3.3.leopard_64.bottle.1.tar.gz
Updating Homebrew...
Error: Xcode alone is not sufficient on Yosemite.
Install the Command Line Tools:
xcode-select --install
## 指示に従いxcodeのインストール
xcode-select --install
rbenvによるrubyバージョン切り替え
rbenv versions
> *system
> 2.4.3
rbenv global 2.4.3 # バージョン切り替え
# ログインしなおしてバージョン再確認
ruby -v
> ruby 2.4.3p205 (2017-12-14 revision 61247) [x86_64-darwin14]
ruby gemのアップデート
gem -v
> 2.7.3
gem update --system
gem -v
> 2.7.4
Rails稼働に必要な依存ライブラリのインストール
node.js、sqlliteを事前に導入しておく。
まずはnode.jsの環境から。
node.jsバージョン管理ツールのnodebrewをインストールしてから本体を導入する流れとなる。
brew install nodebrew
nodebrew help # 動作確認
nodebrew setup
Fetching nodebrew...
Installed nodebrew in $HOME/.nodebrew
========================================
Export a path to nodebrew:
export PATH=$HOME/.nodebrew/current/bin:$PATH
========================================
# 上記のメッセージが出るのでパスを通す
vi ~/.zshrc
source ~/.zshrc
# ログインしなおして動作確認
nodebrew help
nodebrew list-remote # node.jsのバージョン一覧を取得
nodebrew install-binary v8.9.3 # 安定版のバージョンをインストール
nodebrew list # インストールリストを表示
> v8.9.3
> current: none
nodebrew use v8.9.3 # 使用バージョンの選択
nodebrew list # currentが変更されていることを確認
> v8.9.3
> current: v8.9.3
# node.jsとnpmのバージョン確認
node -v
> v8.9.3
npm -v
> 5.5.1
# npmの初期化
npm init
# とりあえず全てEnterでOK
# ホームディレクトリにpackage.jsonができていることを確認する
次にsqliteを導入する。こちらは簡単。
brew install sqlite3
gem install sqlite3 # sqlite3ドライバのインストール
Railsのインストール
gemでインストールできる。-v
でバージョンを指定する。
gem install rails -v 5.0.4
rails -v
> 5.0.4
CentOS7への環境構築手順
gitの導入が前提となるので、下記を参考に導入しておく。
CentOS7に最新版のgitを導入してみた](https://qiita.com/kod314/items/2a0b30ded6063f389771)
rbenvの導入
【参考】
rbenv公式git
git clone https://github.com/rbenv/rbenv.git ~/.rbenv
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
~/.rbenv/bin/rbenv init
# 下記が表示されるので~/.bash_profileに追記
# eval “$(pyenv init -)”
source ~/.bash_profile
rbenv -v
# >rbenv 1.1.1-28-gb943955
ruby-buildの導入
git clone git://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build
cd ~/.rbenv/plugins/ruby-build
sudo ./install.sh
ruby-build --version
# > ruby-build 20171226
rubyの導入
rbenv install -l # rubyのバージョン一覧表示
rbenv install 2.5.0
インストール時に下記のようなエラーが出た。エラーログに記載の通りyum install -y readline-devel
をしたら依存関係が解決できた。
BUILD FAILED (CentOS Linux 7 using ruby-build 20171226-3-g01e7b7b)
Inspect or clean up the working tree at /tmp/ruby-build.20180206225916.7091
Results logged to /tmp/ruby-build.20180206225916.7091.log
Last 10 log lines:
installing rdoc: /home/ogyu/.rbenv/versions/2.5.0/share/ri/2.5.0/system
installing capi-docs: /home/ogyu/.rbenv/versions/2.5.0/share/doc/ruby
The Ruby readline extension was not compiled.
ERROR: Ruby install aborted due to missing extensions
Try running `yum install -y readline-devel` to fetch missing dependencies.
あとはMacの導入手順と同様。
と思ったら、railsの起動までが以外とトラップだらけだったのでメモしておく。
下記の記事が参考になりました。ありがとうございます!
【CentOS7(+Ubuntu16)】Ruby / Rails のインストールから Rails サーバの起動までの(ほぼ)完全ガイド
備忘のためにコマンドを要約すると下記のようになる。
# rails newでプロジェクトを作成しようとするとsqliteがないと怒られるため導入する
sudo yum -y install sqlite-devel
gem install sqlite3 -v '1.3.13'
# railsプロジェクトの作成
rails new myapp
# Gemfileの下記をコメントアウトを消して、JavaScript Runtimeを使用できるできるようにする
gem 'therubyracer', platforms: :ruby
rails s # サーバ起動