バナー画像

Rubyはオープンソースのプログラミング言語なので、最新版のソースリストさえ入手すれば、rubyの実行モジュールをコンパイルして作ることが可能です。もしLinuxでRubyを使おうとしたら最新版で無かったら、自分で最新版をコンパイルしてみましょう。

しかしC++で書かれたソースリストコンパイルするにはハードルが高いかもしれません。そのような方のために簡単にコンパイルできる方法もあり、多くのエンジニアが利用しています。今回はRubyの最新版のソースコードの入手方法と、そのコンパイル方法について解説します。

Rubyの最新版を作るには


大抵のLinuxディストリビューションには標準でRubyが用意されています。しかしそのRubyを実行してみたら、かなり古いバージョンだったります。もしRubyの最新版を利用したい場合は自分でコンパイルして作成し、それを利用してください。

まずはRubyの最新版を作る方法を紹介します。

Rubyの最新版は何?

Rubyの最新版をコンパイルして使うなら、今の最新バージョンを知らなければなりません。Rubyは公開されて20年以上経つプログラミング言語ですが、まだ改良が続けられています。Rubyの最新バージョンを知りたい場合は、Rubyの公式サイトをチェックしてください。

Rubyの公式サイトのURL
オブジェクト指向スクリプト言語 Ruby

公式サイトにはリリース情報が掲載されています。ただし、2021年10月時点でメンテナンスされているバージョンは、3.0系、2.7系、2.6系の3つです。

最新機能を使いたい場合、最も新しい3.0系を使いますが、Ruby用に作られた全てのライブラリが対応している訳ではありません。例えばRuby on Rilasを使いたい場合は、2.7系が必要です。

ソースコードを入手する

Rubyはオープンソースのオブジェクト指向プログラミング言語ですが、オープンソースのためソースコードが公開され無償で利用できます。そして、そのソースコードを公式サイトからダウンロードのページから入手することが可能です。

Rubyのダウンロードサイト
ダウンロード

なお、Rubyのダウンロードにはソースコードをコンパイルする方法も紹介されています。そのため、オープンソースのソースコードをコンパイルできる方なら、このWebページを参考にして自分で作ることが可能です。

コンパイルするには環境が必要

LinuxならオープンソースのRubyをコンパイルすることが可能です。しかし、Webサーバー用として設定されたLinuxサーバーでRubyをコンパイルできるとは限りません。Rubyをコンパイルするには、必要となるパッケージを幾つもインストールする必要があります。

もし、Rubyをコンパイルする環境を作るのが面倒という方は、ぜひ、rbenvを利用してください。rbenvはRuby専用のパッケージ管理ツールで、コンパイルに必要な設定を自動化できる便利なツールです。

ソースコードをコンパイルする環境


バージョンを気にしなければCentOSやUbuntuといったLinuxディストリビューションの標準でRubyを利用できます。しかしそのようなLinuxなら何でもRubyをコンパイルできる訳ではありません。コンパイルに必要なパッケージのインストールが必要です。

次からLinuxでRubyをコンパイルするために必要なパッケージを紹介します。

C++の環境が必要

オープンソースの歴史は古く、1960年代から利用されてきました。そしてオープンソースのほとんどは、CコンパイラまたはC++コンパイラを使い、自分の環境に合わせてコンパイルしてそのツールを自作します。Rubyも同じで、Ruby用のソースコードからrubyコマンドを作るためには、C++によるコンパイル環境が必要です。

もしLinuxディストリビューションでRubyをコンパイルするなら、C++の開発環境をインストールしなければなりません。CentOSやUbuntuなどでRubyをコンパイルする場合は、少なくともgccパッケージが必要です。まずはgccコマンドが実行できることをチェックしてください。

makeなどの開発環境

gccコマンドをインストールすればオープンソースがコンパイルできる訳ではありません。オープンソースとして公開されているソースファイルをコンパイルするためには、makeコマンドが必要です。さらにディストリビューションによってはmakeで利用されるautoconf、bison、build-essentialなどのパッケージも必要です。

またrubyでgccを利用するには、名称に「-dev」が付いた開発用パッケージを組み込む必要があります。なお、Rubyをソースからコンパイルした場合、OSに組み込まれた開発用パッケージをチェックし、組み込み可能な機能のみRubyコマンドに組み込みます。

Rubyで利用する可能性がある機能については、そのLinuxの開発用パッケージもインストールしてください。なお、パッケージ名に「-dev」が付いているパッケージが開発用のライブラリです。

UbuntuでRubyをコンパイルするための必要なパッケージのインストール例

$ apt-get install \
autoconf bison build-essential \
libssl-dev libyaml-dev libreadline6-dev zlib1g-dev libncurses5-dev libffi-dev libgdbm5 libgdbm-dev

もしエラーで止まったら

Rubyのコンパイルに必要なパッケージがインストールされていれば、ほとんどのLinuxのディストリビューションでそのままコンパイルできます。しかし、必要なパッケージがインストールされていない場合、エラーで中断することもあります。

もし、必要なパッケージがインストールされていないとconfigureコマンドを実行した際にエラーで停止します。この場合、エラーメッセージに必要なパッケージ名が表示されます。そのメッセージに従ってパッケージをインストールしてください。

rbenvを利用してコンパイルする


C言語やC++による開発に慣れている方ならオープンソースのコマンドを自分でコンパイルすることは難しくはありません。しかし、これからRubyを学ぼうとしているのに、C言語やC++の使い方を学ぶの本末転倒です。

そのような方は、ruby用のシステム管理ツールのrbenvを利用してください。次からrbnevコマンドを利用したRubyのコンパイルについて紹介します。

rbenvとは

rbenvは、プロジェクトによってRubyのバージョンを切り替えられるようにする仕組みです。利用可能なRubyを設定する際に、rbenv用のGitHubにコンパイル用の環境が一式用意されているので、それを導入して自動的にコンパイルしてRubyコマンドを作成してくれます。

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

まずはgitコマンドを

rbenvを導入するにはGitHubを利用するためのgitコマンドを利用します。CentOSやUbuntuなどの広く使われているLinuxでは標準のパッケージとして用意されているので、まずはgitコマンドを導入してください。

gitコマンドのインストールコマンドの例(CentOS)

$ sudo yum -y install git

gitコマンドのインストールコマンドの例(Ubuntu)

$sudo apt-get install git

rbenvのインストール

gitコマンドが使えるようになったら、さっそくrbenvコマンドをインストールしてみましょう。次のコマンドでインストールできます。

rbenvインストールの例

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

このコマンドがうまくいけば、ホームディレクトリに.rbenvが作られています。rbenvコマンドは、この下でRubyコマンドのコンパイルや実行環境を作成します。また、メッセージにしたがってシェルの環境にrbenv実行に必要な設定を追加してください。

rbenvでRubyをコンパイルする

rbenvコマンドが使えるようになったら、使いたいRubyがrbenvでインストールできるかをチェックしてみてください。なおrbenvで利用できるRubyの最新版もチェックも同じです。

$ rbenv install -l

バージョンをチェックしたら次のコマンドでインすトールしてください。なお、rbenvを利用してインストールすると自動的にRubyのソースコードからコンパイルしてRubyの実行モジュールを作成します。そのため、使っているパソコンたサーバーの性能によっては時間がかかるかもしれません。

$ rbenv install 2.7.4

まとめ


これまで紹介したようにオープンソースのプログラミング言語であるRubyのコマンドは、ソースコードから自分でコンパイルして作ることが可能です。CentOSなどのLinuxでは、OSは最新だとしても、最新のRubyが使える訳ではありません。最新のRubyを使いたい場合は自分でコンパイルしてみましょう。

ただしRubyのソースコードはC++で書かれているので、C++を扱ったことがない方にとってはハードルが高いかもしれません。そのためRubyの最新版を使いたい場合は、簡単なコマンドでコンパイルもやってくれるrbenvを利用してください。

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

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

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

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

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

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

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

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

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

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

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