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と依存関係のインストール
パッケージリストの更新
$ sudo apt update
rbenv をインストールするのに必要とされるパッケージをインストール
$ sudo apt install autoconf bison build-essential libssl-dev libyaml-dev libreadline6-dev zlib1g-dev libncurses5-dev libffi-dev libgdbm5 libgdbm-dev libmysqlclient-dev
GitHubからrbenvを ~/.rbenv
にクローン
$ git clone https://github.com/rbenv/rbenv.git ~/.rbenv
環境変数 $PATH
に rbenv
コマンドの実行パスを追加するスクリプトを ~/.bashrc
に追加
$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
rbenvを自動的に読み込ませるために、~/.bashrc
に eval "$(rbenv init -)"
を追加
$ echo 'eval "$(rbenv init -)"' >> ~/.bashrc
現在のログインセッションに反映
$ source ~/.bashrc
rbenvが正しくセットアップ出来たか確認するために、type
コマンドを使用します。
次のような表示が出れば正しくセットアップされています。
$ type rbenv
rbenv is a function
rbenv ()
{
local command;
command="${1:-}";
if [ "$#" -gt 0 ]; then
shift;
fi;
case "$command" in
rehash | shell)
eval "$(rbenv "sh-$command" "$@")"
;;
*)
command rbenv "$command" "$@"
;;
esac
}
ruby-buildでRubyをインストール
ruby-build
プラグインをGitHubからインストール。
これは、Rubyの複数のバージョンのRubyを簡単に導入できるようにするツールです。
$ git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build
rbenv install -l
で、インストールできるバージョンのリストが表示されます。ここでは、ruby2.6.1を導入します。
$ rbenv install 2.6.1
インストールしたRubyをデフォルトで使用できるようにするために、rbenv global
を使用します。
$ rbenv global 2.6.1
rbenv global [version]
で、指定したバージョンの Ruby が配置されます。
正しく配置されているかバージョンを確認。
$ ruby -v
ruby 2.6.1p33 (2019-01-30 revision 66950) [x86_64-linux]
例えば、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
にそれを無効にするスクリプトを書いておきます。
$ echo "gem: --no-document" > ~/.gemrc
次に、bundlerをインストールします。
bundlerは、gemの依存関係を管理するツールです。
$ gem install bundler
Fetching bundler-2.0.1.gem
Successfully installed bundler-2.0.1
1 gem installed
gem env
を使うことで、gemライブラリ群の環境設定を知ることが出来ます。引数に home
を指定すると、gemライブラリがどこにインストールされているのか確認できます。
$ gem env home
/home/someone/.rbenv/versions/2.6.1/lib/ruby/gems/2.6.0
Railsのインストール
最新バージョンのRailsをインストールする場合は、単純に次のようにコマンドを実行します。
$ gem install rails
:
Successfully installed rails-5.2.2
38 gems installed
もし、バージョンを指定してインストールする場合は次のようにします。
|
最後におまじないです。
$ rbenv rehash
バージョンを確認します。
$ rails -v
Rails 5.2.2
結果
ここまでやってきて、便利な半面一つ疑問に残るのが、「ユーザ別に環境を作成できるのは良いとして、サーバーとして利用するにはどうすればいいの?」っていうことです。
実際、このあとRedmine4.0.1をインストールし、動作させるところまで確認してみましたが、ユーザーにローカルに実行環境がインストールされているために、必要なものを手作業でシステムワイドにコピーするという、時代錯誤な方法を撮るしかありませんでした。
そこで次は、システムワイドにインストールする方法について検証してみようと思います。
0件のコメント