バナー画像

Ruby on Railsのプログラムの開発環境を本番環境に合わせてLinuxで作ってみよう、と考えたことはありませんか。Linuxを使うのはWindowsやmacOSに比べると、少しだけ難しいかもしれません。しかし、本番環境とほぼ同じ環境で開発できるのがメリットです。

今回はRuby on Railsの開発環境をLinuxに作りたいと考えている方に、LinuxへのRubyのインストール方法とRubyのコマンドの基本的な使い方について解説します。

LinuxでRubyの最新版を使うには

Rubyは1995年にまつもとゆきひろ氏によって開発されたオープンソースのオブジェクト指向スクリプト言語です。オープンソースのrubyコマンドは、公開されているソースリストから実行環境を作れさえすれば誰でもRubyの最新版を利用できます。

ではLinuxでRubyを利用するにはどうすればよいでしょうか。Linuxへのインストール方法を知りたい方に、Linuxでもよく利用されているCentOSでRubyの最新版を利用する方法を紹介します。

ソースコードからRubyをコンパイルする

Rubyの公式サイトのダウンロードのページを見ると、幾つかのプラットフォームにインストールする方法と並んで、ソースコードからRubyをインストールする方法が紹介されています。

LinuxにRubyの最新版をインストールする方法として昔から使われている方法が、このソースコードからRubyをコンパイルする方法です。

Linuxが登場してすぐの頃は、標準でRubyが使えた訳ではありません。そのころはは公式サイトなどからソースコードをダウンロードし、それをコンパイルしてRubyの実行環境を作っていました。もちろん、この方法は今でも利用できます。

ソースコードから作るには

先ほどコンパイルしてRubyの実行環境を作る紹介しましたが、Linuxにおけるコンパイルとは、gccコマンドでソースファイルをコンパイルしてrubyの実行モジュールを作成することを指します。

ただし、最小構成のLinuxにgccコマンドはインストールされていません。コンパイルするためにはgccコマンドを含むパッケージの他、コンパイルに必要なコマンドを含む幾つものパッケージをインストールしなければなりません。

Rubyをコンパイルするなら、下記のようなgccコマンドを含むソフト開発に必要なパッケージをインストールしてください。

Rubyをコンパイルするために必要なパッケージ

gcc
make
gzip2
openssl-devel
readline-devel
zlib-devel

ソースファイルからのコンパイル手順

ソースファイルからRubyの実行モジュールをコンパイルする手順を次に紹介します。

(1)ダウンロードする
Rubyの公式サイトからたどれるダウンロードサイトからソースファイルをダウンロードしてださい。
(2)tarコマンドで展開してください。
(3)展開したディレクトリに移動する。
(4)コンパイルする。
次のコマンドでを実行してください。

$ ./configure
$ make
$ sudo make intsall

これで、/usr/localの下にRubyの実行環境がインストールされます。

上記のコマンドで最初に実行する「./configure」は、コンパイルするLinux環境に合わせたMakefileを作成します。そして、続くmakeコマンドでMakefileに基づいてコンパイルし、Rubyの実行モジュール等を作成します。さらに、管理者権限でmakeコマンドを実行し、作成した実行モジュールを/usr/localをインストールします。

rbenvコマンドを利用する

先ほど、LinuxでRubyのソースファイルからコンパイルし、実行環境を作成する方法を紹介しましたが、/usr/localの下にインストールしてしまうと、違うバージョンを利用する場合に不便です。

そこでRubyの実行環境を構築する際に利用してほしいコマンドがrbenvです。rbenvを利用することで、開発したいシステムに合わせたRubyの実行環境を用意できます。次からrbenvについて紹介します。

rbenvとは

rbenvは、複数のRubyのバージョンを管理し、プロジェクトで利用しているRubyのバージョンに合わせて切り替えられる環境を提供するツールです。

具体的にはLinuxのターミナルで使用するシェルのPATHに、rbenvが管理しているRubyの各バージョンの実行パスを設定します。そのためrbenvには、特定のRubyをソースファイルからビルドする機能と、ビルドしたRubyをPATHに追加する機能、およびそのための管理機能が組み込まれています。

GitHub – rbenv/rbenv: Groom your app’s Ruby environment

rbenvをLinuxにインストールする

rbenvコマンドはmacOSとLinuxで利用できます。なお、macOSとLinuxではインストール方法が違うので注意してください。

CentOSにrbenvをインストールする場合、githubからrbenvとRubyをビルドする環境をコピーします。なお、githubからコピーするにはgitコマンドが必要です。あらかじめインストールしてください。

次にgithubからrbenvをコピーするコマンドを紹介します。

CentOSにrbenvをインストールする例

$ git clone https://github.com/sstephenson/rbenv.git〜/ .rbenv
$ git clone https://github.com/sstephenson/ruby-build.git〜/ .rbenv / plugins / ruby-build

上記のコマンドにより、gitコマンドを実行したディレクトリに、.rbenvが作られ、その下にrbenvの実行環境がコピーされます。

rbenvをシェルに組み込む

rbenvは、Linuxのターミナルなどで使われるシェルに組み込むことで、プロジェクト毎にRubyのバージョンを切り替えることが可能です。次に、bashの設定ファイル、.bash_profileにrbenvを組み込む例を紹介します。

.bash_profileへの組み込む例

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

まずはcdコマンドでホームディレクトリに移り、.bashrc_profileに2行を追加します。そして、sourceコマンドで.bashrc_profileに反映します。この処理の後、rbenv –versionコマンドでバージョンが表示されれば設定終了です。

LinuxでRubyを実行する際の設定

自分でコンパイルしたりrbenvコマンドを使って準備したりしてRubyの最新版を用意できたら、さっそくRubyを使ってみましょう。

Rubyでプログラムを実行するなら、引数にプログラムを記述したソースファイルを指定します。しかし、Rubyの使い方はそれだけではありません。多くのオプションを指定できます。

次からLinuxでRubyコマンドの便利な機能と注意点について紹介します。

Rubyコマンドのオプション

Rubyは、rubyという実行ファイルがプログラムのソースファイルを解析しながら実行する、インタープリタ型のプログラム言語です。通常、次のように実行します。

ruby ソースファイル

上記のrubyコマンドには多くのオプションを指定できます。利用できるオプションは、ruby –helpと実行することで一覧を表示できます。

なお、rubyコマンドには多くのオプションがありますが、次の2つはよく使うので、ぜひ覚えてください。

よく使われるrubyコマンドのオプション

-v バージョンを表示する
-c プログラムのチェックのみ実行する

Rubyが参照するシェル変数

LinuxのターミナルからRubyを実行する場合、bashなどのシェルからrubyコマンドを実行します。そして、rubyコマンドはシェル変数に設定されている環境変数を参照します。

なお今使っているシェルの環境変数はenvコマンドで表示可能です。例えば、次のコマンドを実行してみてください。環境変数に設定されているホームディレクトリを表示できます。

$ env | grep HOME

rubyコマンドは、シェルに設定されたの環境変数のうち、次の変数を参照します。

RUBYOPT (Rubyインタプリタにデフォルトで渡すオプションを指定します。)
RUBYPATH (-Sオプション指定時に調べるディレクトリに追加します。)
RUBYLIB (Rubyのライブラリの探索パスに、この環境変数の値を追加します。)

LinuxでRubyのエラー原因を調べるには

Linuxのターミナルでrubyコマンドを実行しエラーやワーニングが発生した場合、そのメッセージがターミナルに表示されます。しかし多くのメッセージをターミナルに表示するようなプログラムでは、重要なメッセージを見逃してしまいます。

そのような場合、Rubyから出力される通常のメッセージとエラーやワーニングを分けて出力する方法を検討してください。なお、エラーやワーニングなどのプログラムに関する重要なメッセージはログファイルに出力できます。ぜひ、このような方法を利用してください。

まとめ

クラウド上で稼働しているWebサーバーのほとんどがLinuxだと言っても過言ではありません。Ruby on Railsで作られたWebシステムがLinuxで稼働しているので、開発環境もLinuxを使っているケースも多いでしょう。

LinuxでRubyを使うには、自分でソースファイルからコンパイルする方法もありますが、rbenvコマンドを使い本番で利用するRubyのバージョンに合わせて環境を作ることが可能です。

Ruby on Railsのシステム構築にLinuxを使う方は、ぜひ、今回の記事を参考にしてください。

エンジニアになりたい人に選ばれるプログラミングスクール「ポテパンキャンプ 」

ポテパンキャンプは卒業生の多くがWebエンジニアとして活躍している実践型プログラミングスクールです。 1000名以上が受講しており、その多くが上場企業、ベンチャー企業のWebエンジニアとして活躍しています。

基礎的な学習だけで満足せず、実際にプログラミングを覚えて実践で使えるレベルまで学習したいという方に人気です。 プログラミングを学習し実践で使うには様々な要素が必要です。

それがマルっと詰まっているポテパンキャンプでプログラミングを学習してみませんか?

卒業生の多くがWebエンジニアとして活躍

卒業生の多くがWeb企業で活躍しております。
実践的なカリキュラムをこなしているからこそ現場でも戦力となっております。
活躍する卒業生のインタビューもございますので是非御覧ください。

経験豊富なエンジニア陣が直接指導

実践的なカリキュラムと経験豊富なエンジニアが直接指導にあたります。
有名企業のエンジニアも多数在籍し品質高いWebアプリケーションを作れるようサポートします。

満足度高くコスパの高いプログラミングスクール「ポテパンキャンプ」

運営する株式会社ポテパンは10,000人以上のエンジニアのキャリアサポートを行ってきております。
そのノウハウを活かして実践的なカリキュラムを随時アップデートしております。

代表の宮崎もプログラミングを覚えサイトを作りポテパンを創業しました。
本気でプログラミングを身につけたいという方にコスパ良く受講していただきたいと思っておりますので、気になる方はぜひスクール詳細をのぞいてくださいませ。