「7つの言語 7つの世界」第2章の学習のために、Rubyをインストールします。
対話式のインタープリターは irb
ファイルを実行するときは、ruby
7つの言語 7つの世界
- Ruby
- Io
- Prolog
- Scala
- Erlang
- Cloijure
- Haskell
インストール
Windows 10
RubyInstaller
RubyInstallerでインストールするのが簡単です。
RubyInstallerのページを表示します。WITH DEBKITの一覧から、太字表示の「Ruby-Debkit 2.6.6-1 (x64)」をダウンロードします。
ダウンロードしたインストーラーを管理者権限で起動します。
インストールPATHはそのままでもかまいません。ここでは、後ほど uruでバージョン切り替えするために、C:\Ruby\Ruby2.6.6-1-x64 にしました。
MSYS2にチェックを付けておきます。
インストールが進行して、
インストールが完了しました。Finishを押すと、コマンドプロンプトが開き、ridik のインストールが始まります。
特に数字を入力することなく、ENTERキーを押します。
再び、聞かれるので、やはり、ENTERキーを押します。
コマンドプロンプトを起動すると、rubyバージョンを確認します。
C:\Users\aoki.makoto>ruby --version
ruby 2.6.6p146 (2020-03-31 revision 67876) [x64-mingw32]
C:\Users\aoki.makoto>irb --version
irb 1.0.0 (2018-12-18)
Code language: DOS .bat (dos)
uruで複数バージョンを切り替える
Ruby 2.6.6と、Ruby 2.4.4を切り替えてみましょう。
RubyInstallerのDownloadページから、WITH DEBKITの一覧から、太字表示の「Ruby-Debkit 2.4.4-1 (x64)」をダウンロードします
インストールPATHを「C:\Ruby\Ruby2.4.4-1-x64」に編集します。「Add Ruby executables to your PATH」のチェックをはずします。チェックを付けたままでもかまいませんが、デフォルトのRubyバージョンが 2.4.4 になります。
uruのダウンロードページを表示して「uru-0.8.5-windows-x86」をダウンロードします。
ダウンロードファイルは7z形式なので、7zipなどで解凍します。解凍すると、uru_rt.exe ができます。
次のコマンドを実行します。uru.bat と uru.ps1 が作られます。必要に応じて、このディレクトリを環境変数PATHに追加します。
C:> uru_rt admin install
Code language: DOS .bat (dos)
Ruby2.6.6を登録します。インストールPATHのbinを登録します。
C:> uru admin add C:\Ruby\Ruby2.6.6-1-x64\bin
---> Registered ruby at `C:\Ruby\Ruby2.6.6-1-x64\bin` as `266p146`
C:> uru ls
=> 266p146 : ruby 2.6.6p146 (2020-03-31 revision 67876) [x64-mingw32]
C:> ruby --version
ruby 2.6.6p146 (2020-03-31 revision 67876) [x64-mingw32]
C:> irb --version
irb 1.0.0 (2018-12-18)
Code language: DOS .bat (dos)
Ruby2.4.4を登録します。インストールPATHのbinを登録します。
C:> uru admin add C:\Ruby\Ruby2.4.4-1-x64\bin
---> Registered ruby at `C:\Ruby\Ruby2.4.4-1-x64\bin` as `244p296`
C:> uru ls
244p296 : ruby 2.4.4p296 (2018-03-28 revision 63013) [x64-mingw32]
=> 266p146 : ruby 2.6.6p146 (2020-03-31 revision 67876) [x64-mingw32]
Code language: DOS .bat (dos)
uruでRuby2.4.4を選択します。
C:> uru 244p296
---> now using ruby 2.4.4-p296 tagged as `244p296`
C:> uru ls
=> 244p296 : ruby 2.4.4p296 (2018-03-28 revision 63013) [x64-mingw32]
266p146 : ruby 2.6.6p146 (2020-03-31 revision 67876) [x64-mingw32]
C:> ruby --version
ruby 2.4.4p296 (2018-03-28 revision 63013) [x64-mingw32]
C:> irb --version
irb 0.9.6(09/06/30)
Code language: DOS .bat (dos)
ただし、コマンドプロンプトを閉じると、デフォルトのRubyに戻ってしまいます。コマンドプロンプトを起動するたびに、uruでRubyを選択する必要があります。
また、rbenvではディレクトリごとに rubyバージョンを設定できますが、uruではできません。
参考記事
Mac OS X
Mac OS X 10.15.4
brewでインストールできます。rbenvとruby-buildがインストールされます。
$ brew install rbenv
環境変数を追加します。筆者は .bash_profile 、.bashrcのファイル構成なので、.bashrc に追加しました。
6行全てをコピペして、ターミナルで実行してください。
cat <<'EOT' >> ~/.bashrc
# rbenv
export PATH=$HOME/.rbenv/bin:$PATH
eval "$(rbenv init -)"
EOT
Code language: Bash (bash)
いったんターミナルを閉じて、もう一度ターミナルを開きます。
$ rbenv --version
rbenv 1.1.2
Code language: Bash (bash)
Ubuntu 18.04
rbenvとruby-buildの2つをgit cloneします。
$ git clone https://github.com/rbenv/rbenv.git ~/.rbenv
$ git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins
Code language: PHP (php)
環境変数を.bashrc に追加します。6行全てをコピペして、ターミナルで実行してください。
cat <<'EOT' >> ~/.bashrc
# rbenv
export PATH=$HOME/.rbenv/bin:$PATH
eval "$(rbenv init -)"
EOT
Code language: Bash (bash)
いったんターミナルを閉じて、もう一度ターミナルを開きます。
$ rbenv --version
rbenv 1.1.2-28-gc2cfbd1
Code language: Bash (bash)
rbenvのサブコマンドに install が表示されない場合は、ruby-buildが認識されていません。~/.rbenv/plugins/ruby-buildにgit cloneしているか確認してください。
$ rbenv
rbenv 1.1.2-28-gc2cfbd1
Usage: rbenv <command> [<args>]
Some useful rbenv commands are:
commands List all available rbenv commands
local Set or show the local application-specific Ruby version
global Set or show the global Ruby version
shell Set or show the shell-specific Ruby version
install Install a Ruby version using ruby-build
uninstall Uninstall a specific Ruby version
rehash Rehash rbenv shims (run this after installing executables)
version Show the current Ruby version and its origin
versions List installed Ruby versions
which Display the full path to an executable
whence List all Ruby versions that contain the given executable
See `rbenv help <command>' for information on a specific command.
For full documentation, see: https://github.com/rbenv/rbenv#readme
Code language: Bash (bash)
rbenvの使い方
インストール可能なバージョン一覧を表示します。
$ rbenv install --list
Code language: Bash (bash)
特定のバージョンのrubyをインストールします。gemも同時にインストールされます。ここでは、2.7.1をインストールします。
$ rbenv install 2.7.1
Code language: Bash (bash)
インストール済みのバージョンを表示します。systemは、rbenvインストール前からインストールされていた /usr/bin/ruby です。Max OS Xでは 2.6.3、Ubuntu 18.04では2.5.1です。
* system (set by /Users/aoki.makoto/.rbenv/version)
2.7.1
Code language: Bash (bash)
global設定を2.7.1に切り替えます。
$ rbenv global 2.7.1
$ rbenv version
2.7.1 (set by /Users/aoki.makoto/.rbenv/version)
$ ruby --version
ruby 2.7.1p83 (2020-03-31 revision a0c7c23c9c) [x86_64-darwin19]
$ gem --version
3.1.2
$ cat /Users/aoki.makoto/.rbenv/version
2.7.1
Code language: Bash (bash)
別のディレクトリ、例えば ~/Documentsに移動して、local設定をsystemに切り替えます。
$ cd ~/Documents
$ rbenv local system
$ rbenv version
* system (set by /Users/aoki.makoto/Documents/.ruby-version)
2.7.1
$ ruby --version
ruby 2.6.3p62 (2019-04-16 revision 67580) [universal.x86_64-darwin19]
$ gem --version
3.0.3
$ cat .ruby-version
system
Code language: Bash (bash)
シバンを記述するときは、#!/usr/bin/env ruby とします。rbenv local、rbenv globalの設定にしたがって、rubyが起動します。
#!/usr/bin/env ruby
puts RUBY_VERSION
Code language: Ruby (ruby)
$ ./version.rb
2.7.1
シバンを#!/usr/bin/rubyとすると、rbenvインストール以前の/usr/bin/rubyが起動します。
#!/usr/bin/ruby
puts RUBY_VERSION
Code language: Ruby (ruby)
$ ./version.rb
2.6.3
Code language: Bash (bash)
おすすめ書籍
「プログラミングRuby1.9」の著者、DaveThomasやAndyHuntは「達人プログラマー」の著者ね