タイトル通りUbuntu14.04へrbenvとruby-buildを利用してRuby2.xをインストールするメモ
(よくあるやつです)
Ubuntu14.04のRubyは1.9.3がデフォルトですが、Ruby 1.9.3のサポートは終了しています。1
また、2系のパッケージもありますが、正しく導入できません。
そのためrbenvとruby-buildを利用してインストールすることにしました。
他のディストリビューションともRubyバージョンが合わせやすくなります。
環境
Vagrant & VirtualBoxにおいてUbuntu14.04が稼働している環境
とりあえず”apt-get update”と”apt-get upgrade”し最新のUbuntu稼働状態(2015/4/8現在)
Ubuntuバージョン確認
早速、稼働させているUbuntuバージョンを確認
$ cat /etc/lsb-release
vagrant@vagrant-ubuntu-trusty-64:~$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=14.04
DISTRIB_CODENAME=trusty
DISTRIB_DESCRIPTION="Ubuntu 14.04.2 LTS"
vagrant@vagrant-ubuntu-trusty-64:~$
rbenvインストール
さてインストールに入ります。
先ずはrbenvです。
インストール方法は、GitHubの[sstephenson/rbenv][rbenv]にある[Instration][rbenv-inst]に記述されています。
GitHubからクローンし.bashrcなどに利用設定をすることにより利用できるようになります。
また、gitを使用するので、gitパッケージを[インストール][git-inst]しておいてください。
gitがない場合に出力されるメッセージは[こちら][git-mess]。
[rbenv]:https://github.com/sstephenson/rbenv
[rbenv-inst]:https://github.com/sstephenson/rbenv#installation
[git-mess]:http://
[git-inst]:http://
rbenvクローン
[rbenv][rbenv]をGitHubからクローンします。
$ git clone https://github.com/sstephenson/rbenv.git ~/.rbenv
vagrant@vagrant-ubuntu-trusty-64:~$ git clone https://github.com/sstephenson/rbenv.git ~/.rbenv
Cloning into '/home/vagrant/.rbenv'...
remote: Counting objects: 2052, done.
remote: Total 2052 (delta 0), reused 0 (delta 0), pack-reused 2052
Receiving objects: 100% (2052/2052), 340.62 KiB | 291.00 KiB/s, done.
Resolving deltas: 100% (1272/1272), done.
Checking connectivity... done.
vagrant@vagrant-ubuntu-trusty-64:~$
.bashrc設定
.bashrcにpathなどの設定をします。
$ echo "" >> ~/.bashrc
$ echo "#" >> ~/.bashrc
$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
$ echo 'eval "$(rbenv init -)"' >> ~/.bashrc
設定直後に有効にするため実行します。
ログイン時に起動されますので、設定後にログインした場合、実行の必要はありません。
$ source ~/.bashrc
$ rbenv -v
vagrant@vagrant-ubuntu-trusty-64:~$ rbenv -v
rbenv 0.4.0-146-g7ad01b2
vagrant@vagrant-ubuntu-trusty-64:~$
ruby-buildインストール
ここからruby-buildのインストールになります。
[ruby-build][ruby-build]は[rbenv][rbenv]のプラグインです。
GitHubよりクローンすることにより利用できるようになります。
インストール方法は、GitHubの[sstephenson/ruby-build][ruby-build]に記述されています。
[ruby-build]:https://github.com/sstephenson/ruby-build
ruby-buildクローン
[ruby-build][ruby-build]をGitHubからクローンします。
$ git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build
vagrant@vagrant-ubuntu-trusty-64:~$ git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build
Cloning into '/home/vagrant/.rbenv/plugins/ruby-build'...
remote: Counting objects: 4436, done.
remote: Total 4436 (delta 0), reused 0 (delta 0), pack-reused 4436
Receiving objects: 100% (4436/4436), 803.92 KiB | 383.00 KiB/s, done.
Resolving deltas: 100% (2307/2307), done.
Checking connectivity... done.
vagrant@vagrant-ubuntu-trusty-64:~$
インストール対象バージョン確認
rbenv & ruby-buildでインストール可能なRubyのバージョンを確認します。
$ rbenv install --list
vagrant@vagrant-ubuntu-trusty-64:~$ rbenv install --list
Available versions:
・
・
・
2.0.0-p594
2.0.0-p598
2.0.0-p643
・
・
・
2.2.0
2.2.1
・
・
・
ree-1.8.7-2012.02
topaz-dev
vagrant@vagrant-ubuntu-trusty-64:~$
Rubyインストール
最後にRubyのインストールになります。
今回は上記で確認したバージョンから"2.0.0-p643"を対象にします。
OpenSSLライブラリーを使用するので、OpenSSLパッケージを[インストール][openssl-inst]しておいてください。
gitがない場合に出力されるメッセージは[こちら][openssl-mess]。
[openssl-mess]:http://
[openssl-inst]:http://
$ rbenv install 2.0.0-p643
vagrant@vagrant-ubuntu-trusty-64:~$ rbenv install 2.0.0-p643
Downloading ruby-2.0.0-p643.tar.gz...
-> http://dqw8nmjcqpjn7.cloudfront.net/4bd267a4187e4bc25c1db08f9f9bdc0ce595a705569cac460d98c4f5b02e614e
Installing ruby-2.0.0-p643...
Installed ruby-2.0.0-p643 to /home/vagrant/.rbenv/versions/2.0.0-p643
vagrant@vagrant-ubuntu-trusty-64:~$
インストールしたRubyの有効化
$ rbenv global 2.0.0-p643
vagrant@vagrant-ubuntu-trusty-64:~$ rbenv rehash
vagrant@vagrant-ubuntu-trusty-64:~$ rbenv global 2.0.0-p643
vagrant@vagrant-ubuntu-trusty-64:~$
Ruby有効化の確認
$ ruby -v
vagrant@vagrant-ubuntu-trusty-64:~$ ruby -v
ruby 2.0.0p643 (2015-02-25 revision 49749) [x86_64-linux]
vagrant@vagrant-ubuntu-trusty-64:~$
参考
gitインストールされていない場合
初期パッケージにgitは入っていない
起動直後のUbuntuではgitがインストールされていないので、gitを利用するとインストールを促される。
vagrant@vagrant-ubuntu-trusty-64:~$ git clone https://github.com/sstephenson/rbenv.git ~/.rbenv
The program 'git' is currently not installed. To run 'git' please ask your administrator to install the package 'git'
vagrant@vagrant-ubuntu-trusty-64:~$
gitインストール
git cloneするために、gitをインストールする。
gitインストール
rbenvインストールするために”git clone”するもgitがないと怒られるためgitをインストールする
$ sudo apt-get -y install git
vagrant@vagrant-ubuntu-trusty-64:~$ sudo apt-get -y install git
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
git-man liberror-perl
Suggested packages:
git-daemon-run git-daemon-sysvinit git-doc git-el git-email git-gui gitk
gitweb git-arch git-bzr git-cvs git-mediawiki git-svn
The following NEW packages will be installed:
git git-man liberror-perl
0 upgraded, 3 newly installed, 0 to remove and 4 not upgraded.
Need to get 3,346 kB of archives.
After this operation, 21.6 MB of additional disk space will be used.
Get:1 http://archive.ubuntu.com/ubuntu/ trusty/main liberror-perl all 0.17-1.1 [21.1 kB]
Get:2 http://archive.ubuntu.com/ubuntu/ trusty-updates/main git-man all 1:1.9.1-1ubuntu0.1 [698 kB]
Get:3 http://archive.ubuntu.com/ubuntu/ trusty-updates/main git amd64 1:1.9.1-1ubuntu0.1 [2,627 kB]
Fetched 3,346 kB in 7s (469 kB/s)
Selecting previously unselected package liberror-perl.
(Reading database ... 60959 files and directories currently installed.)
Preparing to unpack .../liberror-perl_0.17-1.1_all.deb ...
Unpacking liberror-perl (0.17-1.1) ...
Selecting previously unselected package git-man.
Preparing to unpack .../git-man_1%3a1.9.1-1ubuntu0.1_all.deb ...
Unpacking git-man (1:1.9.1-1ubuntu0.1) ...
Selecting previously unselected package git.
Preparing to unpack .../git_1%3a1.9.1-1ubuntu0.1_amd64.deb ...
Unpacking git (1:1.9.1-1ubuntu0.1) ...
Processing triggers for man-db (2.6.7.1-1ubuntu1) ...
Setting up liberror-perl (0.17-1.1) ...
Setting up git-man (1:1.9.1-1ubuntu0.1) ...
Setting up git (1:1.9.1-1ubuntu0.1) ...
vagrant@vagrant-ubuntu-trusty-64:~$
OpenSSLライブラリーがない場合
vagrant@vagrant-ubuntu-trusty-64:~$ rbenv install 2.0.0-p643
Downloading ruby-2.0.0-p643.tar.gz...
-> http://dqw8nmjcqpjn7.cloudfront.net/4bd267a4187e4bc25c1db08f9f9bdc0ce595a705569cac460d98c4f5b02e614e
Installing ruby-2.0.0-p643...
BUILD FAILED (Ubuntu 14.04 using ruby-build 20150319zf)
Inspect or clean up the working tree at /tmp/ruby-build.20150408101803.32457
Results logged to /tmp/ruby-build.20150408101803.32457.log
Last 10 log lines:
minitest 4.3.2
psych 2.0.0
rake 0.9.6
rdoc 4.0.0
test-unit 2.0.0.0
The Ruby openssl extension was not compiled. Missing the OpenSSL lib?
Configure options used:
--prefix=/home/vagrant/.rbenv/versions/2.0.0-p643
LDFLAGS=-L/home/vagrant/.rbenv/versions/2.0.0-p643/lib
CPPFLAGS=-I/home/vagrant/.rbenv/versions/2.0.0-p643/include
vagrant@vagrant-ubuntu-trusty-64:~$
OpenSSLライブラリーインストール
rbenvよりRubyをインストールするために、OpenSSLライブラリーをインストールする。
OpenSSLライブラリーインストール
Rubyインストールに必要なOpenSSLライブラリーをインストールします。
依存関係するものもインストールされます。
$ sudo apt-get -y install libssl-dev
vagrant@vagrant-ubuntu-trusty-64:~$ sudo apt-get -y install libssl-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
libssl-doc zlib1g-dev
The following NEW packages will be installed:
libssl-dev libssl-doc zlib1g-dev
0 upgraded, 3 newly installed, 0 to remove and 4 not upgraded.
Need to get 2,223 kB of archives.
After this operation, 8,265 kB of additional disk space will be used.
Get:1 http://archive.ubuntu.com/ubuntu/ trusty/main zlib1g-dev amd64 1:1.2.8.dfsg-1ubuntu1 [183 kB]
Get:2 http://archive.ubuntu.com/ubuntu/ trusty-updates/main libssl-dev amd64 1.0.1f-1ubuntu2.11 [1,072 kB]
Get:3 http://archive.ubuntu.com/ubuntu/ trusty-updates/main libssl-doc all 1.0.1f-1ubuntu2.11 [967 kB]
Fetched 2,223 kB in 11s (202 kB/s)
Selecting previously unselected package zlib1g-dev:amd64.
(Reading database ... 61707 files and directories currently installed.)
Preparing to unpack .../zlib1g-dev_1%3a1.2.8.dfsg-1ubuntu1_amd64.deb ...
Unpacking zlib1g-dev:amd64 (1:1.2.8.dfsg-1ubuntu1) ...
Selecting previously unselected package libssl-dev:amd64.
Preparing to unpack .../libssl-dev_1.0.1f-1ubuntu2.11_amd64.deb ...
Unpacking libssl-dev:amd64 (1.0.1f-1ubuntu2.11) ...
Selecting previously unselected package libssl-doc.
Preparing to unpack .../libssl-doc_1.0.1f-1ubuntu2.11_all.deb ...
Unpacking libssl-doc (1.0.1f-1ubuntu2.11) ...
Processing triggers for man-db (2.6.7.1-1ubuntu1) ...
Setting up zlib1g-dev:amd64 (1:1.2.8.dfsg-1ubuntu1) ...
Setting up libssl-dev:amd64 (1.0.1f-1ubuntu2.11) ...
Setting up libssl-doc (1.0.1f-1ubuntu2.11) ...
vagrant@vagrant-ubuntu-trusty-64:~$
参考