私の開発環境 *env系まとめ
この記事のモチベーション
自分の開発環境を上手に構築管理出来る事は、大事な事だと思います。
プログラミング言語のバージョン管理をpyenvやrbenv、ndenvなどで管理しているが
以前は、それぞれインストールしてごちゃごちゃしていました。
チームのメンバーともこの様な環境構築の方法を統一していると
サポートもしやすいです。
そこで・・・
・それぞれのバージョン管理ツールのインストール方法を統一する
・どのバージョンに設定しているのか、どのバージョンが入っているのかを確認しやすくする
と言う事で、*env系をまとめて確認できる「anyenv」を使っています。
anyenvのインストール
$ git clone https://github.com/riywo/anyenv ~/.anyenv
$ echo 'export PATH="$HOME/.anyenv/bin:$PATH"' >> ~/.zshrc
$ echo 'eval "$(anyenv init -)"' >> ~/.zshrc
$ exec $SHELL -l
anyenvで、*env系をインストールするので、インストール方法も統一され簡単
$ anyenv install rbenv
$ anyenv install pyenv
$ anyenv install ndenv
あとはいつもの様に、*envから使いたいバージョンをインストール
$ ndenv install v7.10.0
$ pyenv install 3.6.0
$ rbenv install 2.4.1
PJ毎のバージョン指定は、「.xxx-version」ファイルで
project/.node-version
16.16.0
project/.python-version
3.9.13
他にも、phpenvなど多数あります。
$ anyenv install -l
Renv
crenv
denv
erlenv
exenv
goenv
hsenv
jenv
jlenv
kubectlenv
luaenv
nodenv
phpenv
plenv
pyenv
rbenv
sbtenv
scalaenv
swiftenv
tfenv
Azure Functions Core Tool の複数バージョンを切り替えるツールには、「funcvm」を使う
このツールは 当時 Azure Functions の開発チームの中の人だった人が作ったものだそうです。
Node.js で動くので、環境に Node.js がインストールされていない場合は先に Node.js のインストールが必要です。
anyenv+nodenvで準備すれば簡単ですね!
funcvmをインストール
$ npm install -g @anthonychu/funcvm
Azure Functions Core Tool インストール
$ funcvm install 4
PJ毎のバージョン指定は、「.func-version」ファイルで
project/.func-version
4.0.4736
おしまい
特に環境トラブルは大きな時間を取られる事が多いので
自分だけでなくチームで整理した方が幸せになれるかと思います。