Ruby on Railsの環境構築
Ruby on Railsについて記事を書いていきたいと思います。
理由は前からrailsに興味があったということ、
世間的にもrailsの需要が高いそうなのでrailsに関する記事もそれなりに需要があるかなと思ったからです。
勉強がてら何かしら作ってみようと思います。
恐らく記事はいくつかに分けられるかと思います
必要なもの
- VMWare もしくは virtualbox ( centosを動かします。)
- centos のisoファイル
- git bash linuxコマンドを使えるようにしよう。
環境構築
railsを動作させるために必要なパッケージをインストールします。
上から順にやっていけば問題ないと思います。
rbenv
rubyのバージョンの切り替えを可能にするコマンドです。
1 gitからrbenvを取得する yumなどのパッケージ管理ツールでもインストールできるがバージョンが古い場合があるそうです。
git clone git://github.com/sstephenson/rbenv.git ~/.rbenv
※gitがない場合 yum install git
2 bashrcに書き込む これによりbashを起動するたびに書きコマンドが実行されるためいろいろと、、、とにかくrbenvの実行が楽になる
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(rbenv init -)"' >> ~/.bashrc
3 bashrcに書いてあるコマンドを実行する。
source ~/.bashrc
4 ruby-buildをインストールする。 これによりrubyをバージョン指定してインストールすることができます。
mkdr -p ~/.rbenv/plugins
cd ~/.rbenv/plugins
git clone git://github.com/sstephenson/ruby-build.git
5 rubyをインストールする。 バージョンはお好みで
yum install -y openssl-devel readline-devel zlib-devel bzip2 gcc sqlite-devel
※これらは下のコマンドを実行するうえで必要なパッケージです。
rbenv install 2.4.1
※これでrubyがインストールされます
rbenv shell 2.4.1
※ruby2.4.1が選択されます。
RubyGems
rubyのためにあるパッケージ管理ツールです。
このツールを使ってrailsをインストールします。
rbenv/shimsにgemがすでに入っているのでこの作業は行わなくても大丈夫です。
1 gemをインストール
git clone https://github.com/rubygems/rubygems
nvm
ruby on railsがはavascriptランタイムを必要としています。
nvmはjavascriptランタイムであるnode.jsをインストールするためのツールです。
1 nvmをインストールするためのスクリプトをダウンロードします。
wget https://rawgit.com/creationix/nvm/v0.33.1/install.sh
※wgetがなかったらyum install wget
2 nvmをインストールします。 インストール後はinstall.shは消してしまっても問題ないです。
bash install.sh
source ~/.bashrc
3 node.jsをインストール バージョンは6.10
nvm install 6.10
rails
いよいよrailsのインストールです。
インストールにはgemを使います。
それなりに時間がかかります。
1 railsのインストール バージョンはお好みで
gem install rails --version=5.1.1
プロジェクト作成
プロジェクトを作成します。
railsコマンドで作成できます。
1 rails_systemというプロジェクト作成
rails new rails_system -B
2 アプリが必要とするパッケージを一括インストール
cd rails_system
bundle
接続確認
接続できるか確認します。
rails serverコマンドでrailsのサーバが起動します。
デフォルトのポート番号は3000です。
ですので{仮想マシンのIP}:3000をブラウザのurlバーに指定するとアクセスできます。
たとえばマシンのipが192.168.11.11の場合、以下のように指定します。
rails server -b 192.168.11.11