はじめに
開発現場では、Python や Terraform、Node.js など様々なツールのバージョン管理が求められる場面が多くあります。
これまで pyenv や tfenv、nodenv といった専用のバージョン管理ツールがありましたが、近年注目されているのが tenv
という統合型のバージョンマネージャです。
本記事では、tenv
の概要や特徴、使い方についてわかりやすく紹介します。
書こうと思ったきっかけ
Terraform や Python を Homebrew や直接インストールすると、バージョンの切り替えが面倒で管理しづらいと感じていた中で、tenv
を知りました。
実際に調べてみたら便利だったため、備忘録としてまとめておきます。
PythonやTerraformをHomebrewでインストールするデメリット
- バージョンの指定や切り替えが難しい
- 複数プロジェクトで異なるバージョンを使うときに手間がかかる
例えば、Terraform 1.4 を使うプロジェクトAと、1.6を使うプロジェクトBがあった場合、Homebrew だと手動でインストールし直す必要があります。
tenv
とは?
- Rust製の統合型バージョンマネージャ
- 複数の言語・CLIツールに対応(Python, Node.js, Terraform, Go, Rubyなど)
-
~/.tool-versions
で各プロジェクトにバージョンを固定可能(asdfと互換) - 高速・軽量な動作が特徴
参考文献
特徴まとめ
項目 | tenvの特徴 |
---|---|
管理対象 | Python, Node.js, Terraform, Go, Ruby など多数 |
管理方法 |
tenv install , tenv use , tenv list など |
設定ファイル |
.tool-versions でプロジェクトごとに固定可能 |
使用感 |
asdf よりもインストールが簡単で高速 |
実装言語 | Rust(そのため動作が軽快) |
使い方(例:Terraform)
# tenv のインストール(Homebrew推奨)
brew install tenv
# Terraform のインストール
tenv install terraform 1.4.6
# プロジェクトごとにバージョン指定
echo "terraform 1.4.6" >> .tool-versions
# バージョン確認
terraform -v
こんな人におすすめ
-
pyenv
,tfenv
,nodenv
など複数のバージョン管理ツールをまとめたい人 - プロジェクトごとにツールバージョンを固定したい人
-
asdf
は便利だけどちょっと重いと感じていた人
まとめ
tenv
は、複数の言語やツールのバージョンを効率よく管理できる便利なツールです。
特に、軽量で高速な点や、.tool-versions
ファイルによるバージョンの固定ができる点は、開発環境の整備において大きなメリットになります。
これからバージョン管理ツールを導入するなら、tenv
を選択肢の一つとしてぜひ検討してみてください!