VagrantでCentOS7いれてRails5.1.4の環境つくってみた

こんにちは、ローカルに直接開発環境つくるのがいまだに気が引けているので、いつもvagrantをつかっていますがいつも手順を忘れるのでメモ。母体はMac。もとはRailsガイドの3.1Installation Railsより

スポンサーリンク

VagrantでCentOS7

vagrantとvirtualboxをインストール

Homebrew-caskが使える場合は以下の2コマンドで導入可能

brew cask install vagrant
brew cask install virtualbox

ない場合には以下からダウンロード
vagrant
virtualbox

vm起動

適当なディレクトリを作成して移動

まず初期化

vagrant init centos/7

次に起動 ※初回はosダウンロードするために時間がかかる

vagrant up

そして接続

vagrant ssh

Ruby導入

rbenvとruby-buildでインストール

rbenv導入

https://github.com/rbenv/rbenvいわく

[vagrant@localhost ~]$ git clone https://github.com/rbenv/rbenv.git ~/.rbenv
[vagrant@localhost ~]$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
[vagrant@localhost ~]$ ~/.rbenv/bin/rbenv init
[vagrant@localhost ~]$ source ~/.bash_profile

導入確認をしてみるとOK!

[vagrant@localhost ~]$ curl -fsSL https://github.com/rbenv/rbenv-installer/raw/master/bin/rbenv-doctor | bash
Checking for `rbenv' in PATH: /home/vagrant/.rbenv/bin/rbenv
Checking for rbenv shims in PATH: OK
Checking `rbenv install' support: /home/vagrant/.rbenv/plugins/ruby-build/bin/rbenv-install (ruby-build 20180618-5-gad8f3a4)
Counting installed Ruby versions: none
  There aren't any Ruby versions installed under `~/.rbenv/versions'.
  You can install Ruby versions like so: rbenv install 2.2.4
Checking RubyGems settings: OK
Auditing installed plugins: OK

ruby-build導入

rbenv installを使うためにruby-buildもいれる。
https://github.com/rbenv/ruby-buildいわく

[vagrant@localhost ~]$ mkdir -p "$(rbenv root)"/plugins
[vagrant@localhost ~]$ git clone https://github.com/rbenv/ruby-build.git "$(rbenv root)"/plugins/ruby-build

Rubyインストール

さっそくrbenv installでRubyをインストールしてみるもなんかエラーでた

[vagrant@localhost ~]$ rbenv install 2.5.1
Downloading ruby-2.5.1.tar.bz2...
-> https://cache.ruby-lang.org/pub/ruby/2.5/ruby-2.5.1.tar.bz2
Installing ruby-2.5.1...
BUILD FAILED (CentOS Linux 7 using ruby-build 20180618-5-gad8f3a4)
Inspect or clean up the working tree at /tmp/ruby-build.20180706182545.17893
Results logged to /tmp/ruby-build.20180706182545.17893.log
Last 10 log lines:
checking for ruby... false
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking target system type... x86_64-pc-linux-gnu
checking for gcc... no
checking for cc... no
checking for cl.exe... no
configure: error: in `/tmp/ruby-build.20180706182545.17893/ruby-2.5.1':
configure: error: no acceptable C compiler found in $PATH
See `config.log' for more details

checking for gcc… noとあるので、gccをいれてみる

[vagrant@localhost ~]$ sudo yum -y install gcc

リトライ!するもまたエラー出た

[vagrant@localhost ~]$ rbenv install 2.5.1
Downloading ruby-2.5.1.tar.bz2...
-> https://cache.ruby-lang.org/pub/ruby/2.5/ruby-2.5.1.tar.bz2
Installing ruby-2.5.1...

BUILD FAILED (CentOS Linux 7 using ruby-build 20180618-5-gad8f3a4)

Inspect or clean up the working tree at /tmp/ruby-build.20180706182704.18209
Results logged to /tmp/ruby-build.20180706182704.18209.log

Last 10 log lines:
The Ruby openssl extension was not compiled.
The Ruby readline extension was not compiled.
The Ruby zlib extension was not compiled.
ERROR: Ruby install aborted due to missing extensions
Try running `yum install -y openssl-devel readline-devel zlib-devel` to fetch missing dependencies.

Configure options used:
  --prefix=/home/vagrant/.rbenv/versions/2.5.1
  LDFLAGS=-L/home/vagrant/.rbenv/versions/2.5.1/lib 

Try running `yum install -y openssl-devel readline-devel zlib-devel` to fetch missing dependencies.  と出力されたので言われるがままに。

[vagrant@localhost ~]$ sudo yum install -y openssl-devel readline-devel zlib-devel

リリトライ!

[vagrant@localhost ~]$ rbenv install 2.5.1
Downloading ruby-2.5.1.tar.bz2...
-> https://cache.ruby-lang.org/pub/ruby/2.5/ruby-2.5.1.tar.bz2
Installing ruby-2.5.1...
Installed ruby-2.5.1 to /home/vagrant/.rbenv/versions/2.5.1

無事終わり!

バージョンを確認してみる

[vagrant@localhost ~]$ rbenv rehash
[vagrant@localhost ~]$ rbenv version
system (set by /home/vagrant/.rbenv/version)
[vagrant@localhost ~]$

system….?どこ指してるかわからないのでrbenv global XXXで指定することにする。

[vagrant@localhost ~]$ rbenv global 2.5.1
[vagrant@localhost ~]$ rbenv version
2.5.1 (set by /home/vagrant/.rbenv/version)
[vagrant@localhost ~]$

ばっちり2.5.1を指定できた!

SQLite3

SQLite3が必要とのこと入ってるか確認してみたらはいってた。古いけど。入っていない場合はsudo yum install sqliteでインストールできるはず。

[vagrant@localhost ~]$ sqlite3 --version
3.7.17 2013-05-20 00:56:22 118a3b35693b134d56ebd780123b7fd6f1497668

Rails newするときgem install sqlite3 でエラーが出るときは以下を入れる

sudo yum install sqlite-devel

Railsの導入

Railsインストール

Rails Tutorialを意識して今回は5.1.4を導入する。

[vagrant@localhost ~]$ gem install rails -v 5.1.4
省略
[vagrant@localhost ~]$ rails -v
Rails 5.1.4
[vagrant@localhost ~]$

Rails newしてみる

RailsGuides

[vagrant@localhost ~]$ rails new blog
[vagrant@localhost ~]$ cd blog
[vagrant@localhost ~]$ rails s -b
中略
There was an error while trying to load the gem 'uglifier'. (Bundler::GemRequireError)
Gem Load Error is: Could not find a JavaScript runtime. See https://github.com/rails/execjs for a list of available runtimes.
Backtrace for gem load error is:
略

Gemfileから以下の行を探しコメントアウトする
gem ‘therubyracer’, platforms: :ruby

[vagrant@localhost blog]$ bundle install
compiling accessor.cc
make: g++: Command not found
make: *** [accessor.o] Error 127

g++ないって怒られるのでいれる

[vagrant@localhost blog]$ sudo yum install gcc-c++

再度bundle installが無事完了したので、さっそく起動したころ、成功!

[vagrant@localhost blog]$ rails s
=> Booting Puma
=> Rails 5.1.4 application starting in development 
=> Run `rails server -h` for more startup options
Puma starting in single mode...
* Version 3.11.4 (ruby 2.5.1-p57), codename: Love Song
* Min threads: 5, max threads: 5
* Environment: development
* Listening on tcp://0.0.0.0:3000
Use Ctrl-C to stop

まとめ

vagrantでCentOS7環境を構築

rbenv+ruby-buildでruby2.5.0を導入

さらにrails5.1.4を導入しRailsGuidesやRailsTutorialを進める環境を構築

スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

スポンサーリンク