anyenvを使ってプログラミング言語のバージョンをラクに管理する

先日、rbenvのインストール方法の記事を書いたのですが、神戸の業務ハッカーのTDから、「anyenvを使うと便利だよ」と教えてもらいました。
早速インストールしたのですが、Macで使うプログラミング言語のバージョン管理がかなりラクになったので、まとめておきます。
anyenvは〇〇envを管理する
そもそもanyenvは何をしてくれるのかと言うと、Rubyならrbenv、PHPならphpenv、Node.jsならnodenvという風に、言語のバージョン管理をしてくれる〇〇envという仕組みがあります。
anyenvは、これらの〇〇env達を管理してくれます。

anyenvを使って管理するメリットは下記の通り。
- 〇〇env系のインストールがラクになる
- それぞれのバージョン管理もラクになる
- .bash_profileやzshに、anyenvのパスを通すだけで済むので、他の〇〇envを追加する度にパスを通す必要がなくなる
- シェルのコードもキレイに保たれる
デメリットとしては、既にenv系をインストールしていたり、別の管理ソフトを使っていると、そのアンインストール作業が発生することですかね。
本来はMacをインストールして最初にするのが良さそうです(ある程度慣れていると問題なさそうですが、慣れていない人は思わぬところでつまづいてしまう可能性があるので、週末の時間があるときにインストールするのをオススメします)。
anyenvのインストール
anyenvのインストール方法は「Homebrewを使う方法」と「Gitから直接インストールする方法」の2通りあります。
自分の場合はHomebrewからインストールしました。
Homebrewからインストールする方法
Homebrewからインストールする場合は下記のコマンドを実行します。
(Homebrewに関しては過去に記事にしているので、そちらをご覧ください)
$ brew install anyenv次に下記コマンドでセットアップをします。
$ anyenv init何かしらコマンドが返ってくると思うので、そのコードをシェルの設定ファイル(.bash_profileや.zshrc)に入力します。

最後にインストールのマニフェストディレクトリを作成しておきます。
$ anyenv install --initチェックアウトしますか?と聞かれたらyを入力してenterでチェックアウトできます。
これでanyenvのインストールは完了なので、ターミナルを再起動するか、下記コマンドを実行すれば完了です。
$ exec $SHELL -lanyenvでrenvのインストール
既存のrenvをアンインストール
renvをインストールしていない場合はこの項目はスキップして下さい。
$ rm -rf ~/.rbenv
$ rm -rf /usr/local/bin/rbenv
$ rm -rf /usr/local/Cellar/rbenv.bash_profileや.zshrcに追加したパスも削除しておきます。
[[ -d ~/.rbenv ]] && \
export PATH=${HOME}/.rbenv/bin:${PATH} && \
eval "$(rbenv init -)"試しにrbenv -vと打ってみて、command not foundと出てくれば、アンインストール成功です。
$ rbenv -v
rbenv:11: command not found: rbenvanyenvでインストールできる〇〇envを確認
下記のコマンドを入力すると、インストールできる〇〇envが一覧で見られます。
$ anyenv install -l
今回はrbenvをインストールしてみます。
anyenvでrbenvをインストール
ここからはanyenvを使ってrbenvをインストールします。
$ anyenv install rbenvあとはターミナルを再読み込みするか、下記コマンドを入力すればrbenvが使えるようになっています。
$ exec $SHELL -lrbenvでRubyをインストール
これでbrenvが使えるようになったので、あとは指定バージョンのRubyをインストールするだけです。
まずは下記コマンドでインストールできるRubyのバージョン一覧を表示させます。
$ rbenv install -lあとはインストールしたいバージョンを下記コマンドでインストールします。
$ rbenv install 2.6.4いまの状態だとインストールしただけなので、インストールしたバージョンをグローバルで使うように指定します。
$ rbenv global 2.6.4rbenv versionsコマンドを実行すると、現在使用中のRubyバージョンに*(アスタリスク)が付いてあるはずです。
$ rbenv versionsこれで言語周りの設定・管理がかなりラクになりました。



BetterTouchToolでトラックパッドの端っこのクリックを無効化して、手が軽く触れることによる誤操作を防止する
Alfred Workflowで、AppleScriptを使ってFinderとPath Finderの現在開いているパスを取得する方法
Karabiner-Elementsでcaps lockで修飾キー全押し、caps lock + 修飾キーで押したキー以外の修飾キーを押す方法(reverseキー)
SourceTreeでURLからクローンするときに自動で入力される「保存先のパス」を変更する方法
BacklogのURLパラメータを、Keyboard Maestroのタイムスタンプ機能を使って生成してリンクを開く方法
Fantastical 2で予定の登録時に使えるキーワードまとめ
Haptic Touch Barでタッチバーを押した時のフィードバックを追加する
日々の制作をラクにするTips #1日1Tips – 2019年10月
macOS標準の日本語入力の辞書をATOKにインポートする方法
Macで快適なFTPクライアントを探しているなら「Transmit 5」がオススメ
iTerm2で「Use System Window Restoration Setting」を設定しているとアラートが表示されて機能しない
Google Chromeのサイト内検索(カスタム検索)機能を別のプロファイルに移行する方法
iPadで入力モードを切り替えずに数字や記号をすばやく入力する方法
iPhoneやiPadでYouTubeの再生速度を3倍速や4倍速にする方法
Keynoteで有効にしているはずのフォントが表示されない現象
MacのKeynoteにハイライトされた状態でコードを貼り付ける方法
AirPodsで片耳を外しても再生が止まらないようにする方法
iTerm2でマウスやトラックパッドの操作を設定できる環境設定の「Pointer」タブ
DeepLで「インターネット接続に問題があります」と表示されて翻訳できないときに確認すること
Ulyssesの「第2のエディタ」表示を使って2つのシートを横並びに表示する
Path Finderを使ってキーボードだけでファイル操作する方法(応用編)
macOSのコマンドパレット比較!SpotlightとAlfred、Raycastどれを使えばいい?
1つのノートアプリにすべて集約するのをやめた理由|2025年時点のノートアプリの使い分け
Notionログイン時の「マジックリンク」「ログインコード」をやめて普通のパスワードを使う
AlfredでNotion内の検索ができるようになるワークフロー「Notion Search」
Gitで1行しか変更していないはずのに全行変更した判定になってしまう
Macでアプリごとに音量を調節できるアプリ「Background Music」
Macのターミナルでパスワード付きのZIPファイルを作成する方法
MacBook Proでディスプレイのサイズ調整をして作業スペースを広げる