RubyをLinuxにインストールするには
  • facebookページ
  • twitterページ
  • 2021.03.27

    RubyをLinuxにインストールするには

    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)コンパイルする。
    次のコマンドでを実行してください。

    これで、/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コマンドを実行したディレクトリに、.rbenvが作られ、その下にrbenvの実行環境がコピーされます。

    rbenvをシェルに組み込む

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

    .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コマンドで表示可能です。例えば、次のコマンドを実行してみてください。環境変数に設定されているホームディレクトリを表示できます。

    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を使う方は、ぜひ、今回の記事を参考にしてください。



    優良フリーランス案件多数掲載中!
    フリーランスエンジニアの案件をお探しなら
    ポテパンフリーランス

    この記事をシェア

    • Facebookシェア
    • Twitterシェア
    • Hatenaシェア
    • Lineシェア
    pickup









    ABOUT US

    ポテパンはエンジニアと企業の最適なマッチングを追求する企業です。

    READ MORE