シヨツ鬼のブログ

初心者向けに分かりやすくIT関連の情報を発信しています。

【動画解説付き】Ruby on Railsをインストール直後のCentOS7へ構築【Windowsに仮想マシン】

f:id:shiyotsuki:20200913213510p:plain

どうも、プログラミングの鬼シヨツ鬼です。
この記事ではRuby on Rails始めたいぜ!けど、どうやってはじめたらいいか分からんZE☆」って人に向けて、インストール直後のLinux(CentOS7)へのRailsの環境構築の方法を説明します。

ちなみに、この記事は次の動画と同じ内容ですので、記事だけだと分かりづらい部分は、そちらもご活用ください。
(ボタンの位置や操作方法などがわかるので、初心者の方は動画のほうが分かりやすいかも)

YouTube:Ruby on Rails のLinux(CentOS 7)上への環境構築方法

概要

Railsは依存するソフトが多いので、まずは全体像を掴んでおくと、Good。
こんな感じのソフト達をインストールしていきます。
f:id:shiyotsuki:20200913214440p:plain

また、今回解説するバージョンは次の通りです。
OS:CentOS7.3
Ruby on Rails:5.2

ちなみに、CentOSWindows上に仮想マシンとして作ったものを使用しました。
「俺も仮想マシンで用意したいぞ」ってそこのあなたはこちらもチェック
YouTube:Virtual Box使って仮想マシンにLinux(CentOS7)入れる方法

Rubyをインストールするための準備のためのインストール

この章では、Rubyをインストールするために必要となるソフトのインストールを行います。

準備

インターネットにつながっていることを確認します。
ブラウザとかで、適当に検索してググれればOK。
特に「シヨツ鬼」とかでググるとNice!

gitのインストール

今回の構築でgitを使うため、次のコマンドでgitをインストールします。

yum -y install git

rbenvのインストール&設定

rbenvというRubyのバージョン管理ソフトを次のコマンドでインストールします。

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

インストールが完了したら、ターミナルログイン時にrbenvへパスが通り、初期化されるように次のコマンドで設定を行います。

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

設定を反映させるために、ログインしなおしてください。
次のコマンドでバージョンが表示されればインストール成功です。

rbenv

ruby-buildのインストール

rbenvでRubyをインストールするために、ruby-buildというプラグインをインストールします。
次のコマンドでインストールできます。

mkdir -p "$(rbenv root)"/plugins
git clone https://github.com/rbenv/ruby-build.git "$(rbenv root)"/plugins/ruby-build

その他もろもろのインストール

Rubyインストール時のコンパイルに必要な4つのソフトを次のコマンドでインストールします。

yum -y install gcc make openssl-devel readline-devel


Rubyのインストール

まずは、今インストールできるRubyのバージョンを次のコマンドで調べます。

rbenv install -l

ここでは、インストールできるバージョンが表示されますが、2.6番台をインストールすることがポイントです。
理由は、Railsのインストールの章で説明します。
この記事では、次のコマンドのように2.6.6をインストールします。
(インストールには30分くらいかかるので、お昼ご飯でも食べててください)

rbenv install 2.6.6

インストールが完了したら、Rubyのデフォルトバージョンを次のコマンドで2.6.6に設定します。

rbenv global 2.6.6

次のコマンドでRubyのバージョンが表示されることを確認してください。

ruby -v

Railsのインストール

次のコマンドでRailsのバージョンを5.2.3に指定してインストールします。(重要)

gem install rails -v "5.2.3"

ここで-v以降を付けなければ最新版がインストールされます。
最新版をインストールしない理由は、Railsの最新版が依存するソフトに対応するCentOS内のソフトのバージョンが古すぎて対応していないためです。
具体的に言うと、Rails6.0以降ではSQLiteというソフトを使う場合、SQLite3.8以上が必要になります。
しかし、CentOS内のSQLiteは3.7が最新であるため、このままでは動かせません。
もちろん、SQLiteをアップデートすればよいのですが、updateコマンドなどではアップデートできずソースから自分でコンパイルしてインストールすることになります。
バージョンに強いこだわりがなく、とりあえずRailsを構築してみたいというのであれば、無理に最新版は使わなくてもいいかなというのが僕の考えです。

次のコマンドでインストールしたバージョンが確認できればインストール成功です。

rails --version

Railsアプリケーションプロジェクト作成

Railsアプリケーションの新規プロジェクトを作成するには、次のコマンドを実行します。

rails new TestPJ
※TestPJの部分は好きな文字で大丈夫です


恐らく、このコマンドを打っただけだと次のようなエラーが出ると思います。

An error occurred while installing sqlite3 (1.4.2), and BUndler cannot continue.
Make sure that `gem install sqlite3 -v '1.4.2' --source 'https://rubygems.org/'`
succeeds before bundling.

そんな時は次のコマンドを実行します。

yum install sqlite-devel

Railsサーバーの起動

いよいよ起動です。
Railsサーバーの起動には次のコマンドを実行します。

cd testPJ/
※testPJは作成の時につけたPJ名
rails server


恐らく、このコマンドを打っただけだと次のようなエラーが出ると思います。

Could not find a JavaScript runtime. See https://github.com/rails/execjs for a list of available runtimes. (ExecJS::RuntimeUnavailable)

これは、JavaScriptのRuntimeが存在しないためのエラーなので次のコマンドで解決します。

curl -sL https://rpm.nodesource.com/setup_10.x | bash -
yum install nodejs

もう一度起動コマンドを打ってもエラーが出なければ、ブラウザで次のURLにアクセスしてみましょう。
http://localhost:3000

このような画面が表示されればインストールは成功です!お疲れ様でした!
f:id:shiyotsuki:20200913225613p:plain

まとめ

依存関係とかあるとちょっと構築は難しいね。
エラーが出ても焦らず、調べてみることが大切。
でもこれで、Railsが使えるようになると思うと夢が広がるね!

最後まで読んでくれてありがとう。
参考になったら「☆」を押してね。そして僕のYouTubeTwitterをフォローしてね。