0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

個人的備忘録:複数環境のバージョン管理に適した tenv について調べてまとめてみた

Posted at

はじめに

開発現場では、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 を選択肢の一つとしてぜひ検討してみてください!

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?