3
1

More than 1 year has passed since last update.

Rubyの最新のバージョンをインストールしようとしたらrbenvとanyenvにぶつかった

Last updated at Posted at 2021-01-21

出発点

「プロを目指す人のための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で日本語もきちんと表示されるようになりました。
めでたしめでたし。

  1. 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

#最後に
教えてくれた先輩方に大感謝。
もしご指摘などあれば、バシバシお願い申し上げます!

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1