anyenvでバージョン管理

個人でコード書いていくうえで、そんなに必要ないかも…?と思いつつも、一応、言語をバージョン管理できるようにしておこうと思いまして。

当ブログはJekyllという静的サイトジェネレータを使用して作成しています。
このJekyllを使う上でRubyが必要になるので、元々Linuxbrewでrbenvを入れていました。
ふとしたきっかけで、rbenvをはじめとしたenv系を一括管理できるanyenvの存在を知りまして、せっかくなのでanyenvを使ってみることにしました。


※2019/11/06追記
この記事ではanyenv$ git cloneで導入しています。
brewを使用して導入するやり方もあり、以下の記事ではLinuxbrewで導入しています。
WSLでWindowsの中にLinuxの開発環境を作ろう

anyenv #

※env系の管理をbrewからanyenvに移行する場合は、事前にbrewで入れた分をアンインストール+パスの削除をするか、参考記事のとおり、リンクを張る方法があります。

導入 #

1.インストール

$ git clone https://github.com/riywo/anyenv ~/.anyenv

2.パスの設定
(ここでは.bash_profileに記述していますが、使用している各種profileのいずれかで問題ありません)

$ echo 'export PATH="$HOME/.anyenv/bin:$PATH"' >> ~/.bash_profile

3.bash起動時に自動でinitするよう設定

$ echo 'eval "$(anyenv init -l)"' >> ~/.bash_profile

※これでbash起動時にanyenvからインストールした各種envをinitしてくれるようになるため、すぐ各種コマンドが使えるようになります。

4.ログインシェルで各種profile再読み込み

$ exec $SHELL -l

5.anyenvコマンド確認

$ anyenv

以下のように表示されればOK。

anyenv
Usage: anyenv <command> [<args>]

Some useful anyenv commands are:
   commands            List all available anyenv commands
   local               Show the local application-specific Any version
   global              Show the global Any version
   install             Install a **env
   uninstall           Uninstall a specific **anv
   version             Show the current Any version and its origin
   versions            List all Any versions available to **env

See `anyenv help <command>' for information on a specific command.
For full documentation, see: https://github.com/riywo/anyenv#readme

anyenv-updateインストール #

各種envとそのプラグインを一括でまとめて更新してくれるものだそうです。それぞれ一つずつ更新するのは、確かに手間ですよね…。

1.格納するディレクトリの作成

$ mkdir -p $(anyenv root)/plugins

2.インストール

$ git clone https://github.com/znz/anyenv-update.git $(anyenv root)/plugins/anyenv-update

これで$ anyenv updateコマンドが使えるようになります。

各種envのインストール #

1.インストールできるenvの確認

$ anyenv install -l
Available **envs:
  crenv
  denv
  erlenv
  exenv
  goenv
  hsenv
  jenv
  luaenv
  ndenv
  nenv
  nodenv
  phpenv
  plenv
  pyenv
  rbenv
  Renv
  sbtenv
  scalaenv
  swiftenv

2.インストール

$ anyenv install (各種env)

例 $ anyenv install rbenv

このコマンド一つで、ビルドに必要な各種env-build(rbenvならruby-build)も一緒にインストールしてくれます。

3.ログインシェルで.bash_profile再読み込み

$ exec $SHELL -l

自分はまずanyenvrbenvをインストールしなおしたのですが、特別つまずくこともなくスムーズでした。
パスを汚さなくていいですし、楽でいいですねー。

参考リンクまとめ #