CentOS6.9 に ruby の環境を作って、Ruby on Rails のプロジェクトを作る

やりたいこと

ローカルの vagrant 上で ruby をインストールして、Ruby On Rails5 のプロジェクトを新規作成する

環境、条件

  • Vagrant 2.0.1
  • CentOS release 6.9 (Final)

手順

1. 関連するパッケージを追加

$ sudo yum install gcc make openssl-devel libffi-devel readline-devel git

2. rbenv を入れる

$ git clone https://github.com/sstephenson/rbenv.git ~/.rbenv

$ pwd
/home/vagrant

$ ls -la
合計 68
...
drwxr-xr-x. 9 vagrant vagrant 4096  1月  6 18:38 2018 .rbenv
...

//rbenv のバージョン見てみる
$ rbenv -v
rbenv 1.1.1-28-gb943955

//パスの追加
$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
$ echo 'eval "$(rbenv init -)"' >> ~/.bash_profile

3. rbenv-buildを入れる

$ cd .rbenv
$ pwd
/home/vagrant/.rbenv

$ mkdir plugins

$ cd plugins/
$ pwd
/home/vagrant/.rbenv/plugins

$ git clone git://github.com/sstephenson/ruby-build.git ruby-build

$ ls -la
合計 12
...
drwxr-xr-x.  7 vagrant vagrant 4096  1月  6 18:42 2018 ruby-build

4. インストール可能な rubyバージョンを確認

$ rbenv install -l
Available versions:
  1.8.5-p52
  1.8.5-p113
  1.8.5-p114
  ...

5. rubyのインストール

$ rbenv install 2.5.0

ここで、2.5.0を入れようとしたら、エラーで引っかかりました。

Downloading ruby-2.5.0.tar.bz2...
-> https://cache.ruby-lang.org/pub/ruby/2.5/ruby-2.5.0.tar.bz2
Installing ruby-2.5.0...

BUILD FAILED (CentOS release 6.9 (Final) using ruby-build 20171226)

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

Last 10 log lines:
prelude.c: In function ‘prelude_eval’:
prelude.c:204: error: #pragma GCC diagnostic not allowed inside functions
prelude.c:205: error: #pragma GCC diagnostic not allowed inside functions
prelude.c:221: error: #pragma GCC diagnostic not allowed inside functions
トップレベル:
cc1: 警告: unrecognized command line option "-Wno-self-assign"
cc1: 警告: unrecognized command line option "-Wno-constant-logical-operand"
cc1: 警告: unrecognized command line option "-Wno-parentheses-equality"
cc1: 警告: unrecognized command line option "-Wno-tautological-compare"
make: *** [prelude.o] エラー 1

調べてみると、どうやら CentOS6.9 で rbenv の rbenv-build を使って ruby 2.5.0 をビルドしようとすると出るrubyのエラー……なのかな……?ruby にチケット立ってたんだけど。。。
参考:https://bugs.ruby-lang.org/issues/14234

バージョン下げたらうまく行きました。

$ rbenv install 2.4.3
Downloading ruby-2.4.3.tar.bz2...
-> https://cache.ruby-lang.org/pub/ruby/2.4/ruby-2.4.3.tar.bz2
Installing ruby-2.4.3...
Installed ruby-2.4.3 to /home/vagrant/.rbenv/versions/2.4.3

6. 使うバージョンを指定

$ rbenv global 2.4.3

//ruby のバージョンを確認
$ ruby -v
ruby 2.4.3p205 (2017-12-14 revision 61247) [x86_64-linux]

7. rails をインストール

$ gem install rails

//rails のバージョンを確認
$ rails -v
Rails 5.1.4

8. rails プロジェクトを新規作成

$ rails new project-name

したら、なぜか怒られた。

An error occurred while installing sqlite3 (1.3.13), and Bundler cannot continue.
Make sure that `gem install sqlite3 -v '1.3.13'` succeeds before bundling.

In Gemfile:
  sqlite3
         run  bundle exec spring binstub --all
Could not find gem 'sqlite3' in any of the gem sources listed in your Gemfile.
Run `bundle install` to install missing gems.

エラー文見たらこれ試してみてーってのが書いてあったので、

yum install sqlite-devel
gem install sqlite3 -v '1.3.13'

これをしてから再度 rails new をしたら、無事にプロジェクトが新規作成出来ました。
最初にパッケージで入れとかないといけなかったかな…?

参考

http://blog.mitsuto.com/ruby-install-centos
https://blog.bungu-do.jp/tutorials/how-to-install-ruby-with-rbenv-on-centos-6
Railsの本家 http://guides.rubyonrails.org/getting_started.html

Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account log in.