RubyとRuby on RailsをRbenvでインストール(ユーザ環境編)

Redmineの最新番(4.0.1)を、Ubuntu Server 18.04 にインストールするために、表題のRubyと、そのWebフレームワークであるRuby on Railsをインストールするために色々試行錯誤した覚書です。

ここでは、ユーザーローカル環境にRubyの環境をいれてみた方法について、書いていきます。

最初は、このRbenvとか言うプログラムが何者なのか全くわからないままにやっていたのですが、2度、3度と繰り返してインストール、検証するうちに何と無くぼやっとですがわかってきました。

Rbenvを入れると、好きなRubyのバージョンや、Railsのバージョンを選んで、開発用に環境を用意できるみたいですね。私の場合は、Rubyを勉強するためではなく、最新版のRedmineを入れてみようという好奇心からいれてみました。

ゴール

  • サーバ:Ubuntu Server 18.04 LTS
  • Rbenvを使用して、Ruby 2.6.1、Rails 5.2.2を導入する
  • その後、Redmine4.0.1を入れる
  • インストール先は~/.rbenv以下

rbenvと依存関係のインストール

パッケージリストの更新

rbenvをインストールするのに必要とされるパッケージをインストール

GitHubからrbenvを~/.rbenvにクローン

環境変数$PATHrbenvコマンドの実行パスを追加するスクリプトを~/.bashrcに追加

rbenvを自動的に読み込ませるために、~/.bashrceval "$(rbenv init -)"を追加

現在のログインセッションに反映

rbenvが正しくセットアップ出来たか確認するために、typeコマンドを使用します。

次のような表示が出れば正しくセットアップされています。

ruby-buildでRubyをインストール

ruby-buildプラグインをGitHubからインストール。

これは、Rubyの複数のバージョンのRubyを簡単に導入できるようにするツールです。

rbenv install -lで、インストールできるバージョンのリストが表示されます。ここでは、ruby2.6.1を導入します。

インストールしたRubyをデフォルトで使用できるようにするために、rbenv globalを使用します。

rbenv global [version]で、指定したバージョンのRubyが配置されます。

正しく配置されているかバージョンを確認。

例えば、Ruby2.3.0を使用したい場合、rbenv install 2.3.0、その後rbenv global 2.3.0とするだけで、現在の環境を偏向することが出来ます。もし、再度2.6.0を使用したければ、rbenv global 2.6.0で公開し直せばOK。

もちろん、このようにしても、2.3.0と2.6.0はそれぞれインストールされた状態になっています。

gemを利用する

gemとは、Rubyで利用できる色々なライブラリのことを指しますが、それをインストールするツール名もこれまたgemです。

前準備として、インストールの時にドキュメントを作成しないように(時間がかかるために)~/.gemrcにそれを無効にするスクリプトを書いておきます。

次に、bundlerをインストールします。

bundlerは、gemの依存関係を管理するツールです。

gem envを使うことで、gemライブラリ群の環境設定を知ることが出来ます。引数にhomeを指定すると、gemライブラリがどこにインストールされているのか確認できます。

Railsのインストール

最新バージョンのRailsをインストールする場合は、単純に次のようにコマンドを実行します。


もし、バージョンを指定してインストールする場合は次のようにします。

最後におまじないです。

バージョンを確認します。

結果

ここまでやってきて、便利な半面一つ疑問に残るのが、「ユーザ別に環境を作成できるのは良いとして、サーバーとして利用するにはどうすればいいの?」っていうことです。

実際、このあとRedmine4.0.1をインストールし、動作させるところまで確認してみましたが、ユーザーにローカルに実行環境がインストールされているために、必要なものを手作業でシステムワイドにコピーするという、時代錯誤な方法を撮るしかありませんでした。

そこで次は、システムワイドにインストールする方法について検証してみようと思います。