出発点
「プロを目指す人のためのRuby入門」が、「Macに標準搭載されているRubyは最新ではないので、アップデートした方がいいよ」と仰るので素直に従うことに。irbで日本語が化けてしまう症状にもこれが効くそうです。
Rubyの最新版のインストールにはrbenvというのがイケてるらしい。
そのrbenvをインストールするには、anyenvがいいらしい。
言語のインストールってサクッと終わる話かと思いきや、意外に階層が..。
そしてややハマったのでメモ...。
rbenvとは?
冷静になると、Ruby environmentと読めます。Rubyの環境設定ツール。
anyenvとは?
同じ容量で、Any environmentと読めます。rbenvだけでなく他の言語の環境設定ツールもまとめて管理してくれるツールだそうな。
#始める前に作業環境の確認
MacBook Pro 13 2020
macOS Catalina 1O.15.7
1. anyenvをインストール
Rubyをインストールするrbenvをインストールするanyenvをインストールします。Homebrew、GitHubの2パターンがあります。
Homebrewの場合
1) anyenvをインストール
$ brew install anyenv
2) シェルにanyenvをセットアップ
シェルとは?
CUIとかCLIとか呼ばれるやつ。Macではターミナルとも呼び、bashだのzshだのがある。
$ anyenv init
initとは?
initialize(初期化)の意味。
###3) ターミナルを再起動
エラーメッセージが出なければOK。
Gitの場合
自分はこれはやっていないので、こちらのGitHubをご参照。
4)manifest directoryを初期化する
manifest directoryとは?(調査中。汗)
下記メッセージが出たら、y
と回答しEnter。
$ anyenv install --init
Manifest directory doesn't exist: /Users/kakudaisuke/.config/anyenv/anyenv-install
Do you want to checkout ? [y/N]: y
これで、anyenvのインストールは終了!
2. rbenvをインストール
###1) 下記コマンドでanyenvでインストールできるリストが見られます。
そこにrbenvも出てくるはず。
$ anyenv install -l
Renv
crenv
denv
erlenv
exenv
goenv
hsenv
jenv
jlenv
luaenv
nodenv
phpenv
plenv
pyenv
rbenv
sbtenv
scalaenv
swiftenv
tfenv
2) rbenvをインストール
Rubyをインストールするrbenvをanyenvでインストールします。
$ anyenv install rbenv
/var/folders/zq/lzp3d6kd2h1_00b25knb8tyr0000gn/T/rbenv.20210114135021.64582 ~
Cloning https://github.com/rbenv/rbenv.git master to rbenv...
Cloning into 'rbenv'...
remote: Enumerating objects: 10, done.
remote: Counting objects: 100% (10/10), done.
remote: Compressing objects: 100% (10/10), done.
remote: Total 2878 (delta 3), reused 2 (delta 0), pack-reused 2868
Receiving objects: 100% (2878/2878), 562.74 KiB | 748.00 KiB/s, done.
Resolving deltas: 100% (1795/1795), done.
~
~/.anyenv/envs/rbenv/plugins ~
Cloning https://github.com/rbenv/ruby-build.git master to ruby-build...
Cloning into 'ruby-build'...
remote: Enumerating objects: 7, done.
remote: Counting objects: 100% (7/7), done.
remote: Compressing objects: 100% (6/6), done.
remote: Total 11314 (delta 0), reused 2 (delta 0), pack-reused 11307
Receiving objects: 100% (11314/11314), 2.40 MiB | 1.83 MiB/s, done.
Resolving deltas: 100% (7467/7467), done.
~
Install rbenv succeeded!
成功したようです。
3) シェル(ターミナル)を再起動
これをしないとせっかくインストールした内容がシェルに設定されないようです。
$ exec $SHELL -l
これでrbenvのインストールが完了しました!
下記コマンドでバージョンが表示されればOKです。
rbenv -v
4) commande not found: rbenv
の場合
3)でcommande not found: rbenv
になった場合は、パスが通っていないことが原因と考えられますので、こちらのQiita記事を参照すると良いです。
パスが通っていないとは?
シェル様(ターミナルの主)に新しくインストールしたソフトの「転入届」が未提出である状態。
3. Rubyをインストール
いよいよ、rbenvを使用して自分の欲しいバージョンを指定してインストールしましょう。
rbenv install X.X.X
irbで日本語もきちんと表示されるようになりました。
めでたしめでたし。
- anyenvのプラグイン
2022/02/07追記
Ruby 3.1.0をインストールしようとしたら、
~/dev/fusician.rb on develop via 💎 on ☁️ (ap-northeast-1) took 2s
❯ be ruby fusician.rb -- role テストエンジニア
rbenv: version `3.1.0' is not installed (set by /Users/kakudaisuke/dev/fusician.rb/.ruby-version)
~/dev/fusician.rb on develop via 💎 on ☁️ (ap-northeast-1)
❯ rbenv install --list
2.5.8
QUERY> anye IgnoreCase [1 (1/1)]
anyenv versions
2.6.6
2.7.2
3.0.0
jruby-9.2.14.0
~/dev/fusician.rb on develop via 💎 on ☁️ (ap-northeast-1)
❯ rbenv install 3.1
ruby-build: definition not found: 3.1
The following versions contain `3.1' in the name:
2.3.1
3.1.0-dev
rbx-3.1
~/dev/fusician.rb on develop via 💎 on ☁️ (ap-northeast-1)
❯ brew upgrade rbenv ruby-build
Running `brew update --preinstall`...
==> Auto-updated Homebrew!
Updated 3 taps (homebrew/core, homebrew/cask and homebrew/cask-fonts).
==> Updated Formulae
Updated 154 formulae.
==> New Casks
imagex inkstitch trex
==> Updated Casks
Updated 125 casks.
Error: rbenv not installed
Error: ruby-build not installed
~ on ☁️ (ap-northeast-1)
❯ rbenv -v
rbenv 1.1.2-40-g62d7798
~ on ☁️ (ap-northeast-1)
❯ anyenv -v
anyenv 1.1.2-1-g67d402f
anyenv-updateというanyenvのプラグインを入れます。
$ mkdir -p $(anyenv root)/plugins
$ git clone https://github.com/znz/anyenv-update.git $(anyenv root)/plugins/anyenv-update
❯ anyenv update
❯ rbenv install 3.1.0
#最後に
教えてくれた先輩方に大感謝。
もしご指摘などあれば、バシバシお願い申し上げます!