( )

anyenvでバージョン管理

開発関連技術

開発環境, anyenv


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

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


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

anyenv#

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

導入#

  1. インストール
git clone https://github.com/riywo/anyenv ~/.anyenv
  1. パスの設定
    (ここでは.bash_profileに記述していますが、使用している各種profileのいずれかで問題ありません)
echo 'export PATH="$HOME/.anyenv/bin:$PATH"' >> ~/.bash_profile
  1. bash 起動時に自動で init するよう設定
echo 'eval "$(anyenv init -l)"' >> ~/.bash_profile

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

  1. ログインシェルで各種profile再読み込み
exec $SHELL -l
  1. 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つずつ更新するのは、確かに手間ですよね…。

  1. 格納するディレクトリの作成
mkdir -p $(anyenv root)/plugins
  1. インストール
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
  1. インストール
anyenv install (各種env)

# 例
anyenv install rbenv

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

  1. ログインシェルで.bash_profile再読み込み
exec $SHELL -l

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

参考リンクまとめ#