或阿呆のブログ

Pythonを好んで使っているプログラマです。Ruby,Perl,PowerShell,VBAなどでもたまに書いています。おバカなことが大好きです。

Ruby技術者認定試験 Rubyのバージョン #Ruby

Rubyのバージョンによって一部挙動が変わってしまう部分があるようなので、試験を受ける方は同じバージョンを使ったほうがいいと思います。

ちなみに、試験のRubyのバージョンは2.1.xだそうです。正確な情報は以下から入手して下さい。今後変わるかもしれないので。
Rubyアソシエーション: Ruby技術者認定試験制度

当方の環境

$uname -a
Linux oneshotlife-PC 3.13.0-24-generic #47-Ubuntu SMP Fri May 2 23:31:42 UTC 2014 i686 i686 i686 GNU/Linux

Rubyのバージョン

$ruby -v
ruby 1.9.3p484 (2013-11-22 revision 43786) [i686-linux]

古いですね。

RVM(Ruby Version Manager)のインストール

あらかじめcurlをインストールしておく
$sudo apt-get install curl
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
状態情報を読み取っています... 完了
以下の特別パッケージがインストールされます:
  libcurl3
以下のパッケージが新たにインストールされます:
  curl libcurl3
アップグレード: 0 個、新規インストール: 2 個、削除: 0 個、保留: 105 個。
296 kB のアーカイブを取得する必要があります。
この操作後に追加で 864 kB のディスク容量が消費されます。
続行しますか? [Y/n] Y
取得:1 http://archive.ubuntu.com/ubuntu/ trusty-updates/main libcurl3 i386 7.35.0-1ubuntu2.1 [174 kB]
取得:2 http://archive.ubuntu.com/ubuntu/ trusty-updates/main curl i386 7.35.0-1ubuntu2.1 [123 kB]
296 kB を 4秒 で取得しました (73.1 kB/s)
以前に未選択のパッケージ libcurl3:i386 を選択しています。
(データベースを読み込んでいます ... 現在 185864 個のファイルとディレクトリがインストールされています。)
Preparing to unpack .../libcurl3_7.35.0-1ubuntu2.1_i386.deb ...
Unpacking libcurl3:i386 (7.35.0-1ubuntu2.1) ...
以前に未選択のパッケージ curl を選択しています。
Preparing to unpack .../curl_7.35.0-1ubuntu2.1_i386.deb ...
Unpacking curl (7.35.0-1ubuntu2.1) ...
Processing triggers for man-db (2.6.7.1-1) ...
libcurl3:i386 (7.35.0-1ubuntu2.1) を設定しています ...
curl (7.35.0-1ubuntu2.1) を設定しています ...
Processing triggers for libc-bin (2.19-0ubuntu6.3) ...
RVMのインストール
$curl -L https://get.rvm.io | bash -s stable
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   184  100   184    0     0     58      0  0:00:03  0:00:03 --:--:--    58
100 20819  100 20819    0     0   2862      0  0:00:07  0:00:07 --:--:--  7952
Downloading https://github.com/wayneeseguin/rvm/archive/stable.tar.gz

Installing RVM to /home/oneshotlife_tom/.rvm/
    Adding rvm PATH line to /home/oneshotlife_tom/.profile /home/oneshotlife_tom/.bashrc /home/oneshotlife_tom/.zshrc.
    Adding rvm loading line to /home/oneshotlife_tom/.bash_profile /home/oneshotlife_tom/.zlogin.
Installation of RVM in /home/oneshotlife_tom/.rvm/ is almost complete:

  * To start using RVM you need to run `source /home/oneshotlife_tom/.rvm/scripts/rvm`
    in all your open shell windows, in rare cases you need to reopen all shell windows.

# Tomohito Ohkubo,
#
#   Thank you for using RVM!
#   We sincerely hope that RVM helps to make your life easier and more enjoyable!!!
#
# ~Wayne, Michal & team.

In case of problems: http://rvm.io/help and https://twitter.com/rvm_io
環境変数設定
$source $HOME/.rvm/scripts/rvm
RVMに必要なパッケージのインストール
$rvm requirements
Checking requirements for mint.
Installing requirements for mint.
Updating system..........
Installing required packages: g++, libreadline6-dev, zlib1g-dev, libssl-dev, libyaml-dev, libsqlite3-dev, libgdbm-dev, libncurses5-dev, bison, libffi-dev............
Requirements installation successful.
RVMのバージョン確認
$rvm -v
rvm 1.25.33 (stable) by Wayne E. Seguin <wayneeseguin@gmail.com>, Michal Papis <mpapis@gmail.com> [https://rvm.io/]

Ruby2.1.0のインストール

$rvm install 2.1.0
Searching for binary rubies, this might take some time.
No binary rubies available for: mint/17/i386/ruby-2.1.0.
Continuing with compilation. Please read 'rvm help mount' to get more information on binary rubies.
Checking requirements for mint.
Requirements installation successful.
Installing Ruby from source to: /home/oneshotlife_tom/.rvm/rubies/ruby-2.1.0, this may take a while depending on your cpu(s)...
ruby-2.1.0 - #downloading ruby-2.1.0, this may take a while depending on your connection...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 11.4M  100 11.4M    0     0   338k      0  0:00:34  0:00:34 --:--:--  538k
ruby-2.1.0 - #extracting ruby-2.1.0 to /home/oneshotlife_tom/.rvm/src/ruby-2.1.0....
ruby-2.1.0 - #applying patch /home/oneshotlife_tom/.rvm/patches/ruby/2.1.0/changeset_r44327.diff.
ruby-2.1.0 - #applying patch /home/oneshotlife_tom/.rvm/patches/ruby/2.1.0/libyaml.patch.
ruby-2.1.0 - #applying patch /home/oneshotlife_tom/.rvm/patches/ruby/GH-488.patch.
ruby-2.1.0 - #applying patch /home/oneshotlife_tom/.rvm/patches/ruby/changeset_r45225.diff.
ruby-2.1.0 - #applying patch /home/oneshotlife_tom/.rvm/patches/ruby/changeset_r45240.diff.
ruby-2.1.0 - #configuring....................................................
ruby-2.1.0 - #post-configuration..
ruby-2.1.0 - #compiling....................................................................................
ruby-2.1.0 - #installing.................................
ruby-2.1.0 - #making binaries executable..
ruby-2.1.0 - #downloading rubygems-2.2.2
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  404k  100  404k    0     0   218k      0  0:00:01  0:00:01 --:--:--  218k
No checksum for downloaded archive, recording checksum in user configuration.
ruby-2.1.0 - #extracting rubygems-2.2.2....
ruby-2.1.0 - #removing old rubygems.........
ruby-2.1.0 - #installing rubygems-2.2.2...............
ruby-2.1.0 - #gemset created /home/oneshotlife_tom/.rvm/gems/ruby-2.1.0@global
ruby-2.1.0 - #importing gemset /home/oneshotlife_tom/.rvm/gemsets/global.gems..........................................................
ruby-2.1.0 - #generating global wrappers........
ruby-2.1.0 - #gemset created /home/oneshotlife_tom/.rvm/gems/ruby-2.1.0
ruby-2.1.0 - #importing gemsetfile /home/oneshotlife_tom/.rvm/gemsets/default.gems evaluated to empty gem list
ruby-2.1.0 - #generating default wrappers........
ruby-2.1.0 - #adjusting #shebangs for (gem irb erb ri rdoc testrb rake).
Install of ruby-2.1.0 - #complete 
Please be aware that you just installed a ruby that requires 4 patches just to be compiled on an up to date linux system.
This may have known and unaccounted for security vulnerabilities.
Please consider upgrading to ruby-2.1.3 which will have all of the latest security patches.
Ruby was built without documentation, to build it run: rvm docs generate-ri

Rubyのバージョン確認

$ruby -v
ruby 2.1.0p0 (2013-12-25 revision 44422) [i686-linux]

これで準備は整った。