()
anyenvでバージョン管理
開発関連技術
開発環境, 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 で入れた分をアンインストール+パスの削除をするか、参考記事のとおり、リンクを張る方法があります。
導入#
- インストール
git clone https://github.com/riywo/anyenv ~/.anyenv
- パスの設定
(ここでは.bash_profile
に記述していますが、使用している各種profile
のいずれかで問題ありません)
echo 'export PATH="$HOME/.anyenv/bin:$PATH"' >> ~/.bash_profile
- bash 起動時に自動で init するよう設定
echo 'eval "$(anyenv init -l)"' >> ~/.bash_profile
※これで bash 起動時にanyenv
からインストールした各種 env を init してくれるようになるため、すぐ各種コマンドが使えるようになります。
- ログインシェルで各種
profile
再読み込み
exec $SHELL -l
- 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
- インストール
git clone https://github.com/znz/anyenv-update.git $(anyenv root)/plugins/anyenv-update
これでanyenv update
コマンドが使えるようになります。
各種 env のインストール#
- インストールできる 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
- インストール
anyenv install (各種env)
# 例
anyenv install rbenv
このコマンド1つで、ビルドに必要な各種env-build
(rbenvならruby-build
)も一緒にインストールしてくれます。
- ログインシェルで
.bash_profile
再読み込み
exec $SHELL -l
自分はまずanyenv
でrbenv
をインストールしなおしたのですが、特別つまずくこともなくスムーズでした。
パスを汚さなくていいですし、楽でいいですねー。