目次
0. Introduction
Python のバージョン管理ツールでも、Conda、Anaconda、pyenv 等があります。他のプログラミング言語でも、様々な env 系ツールが存在する中で、プロジェクト毎にそれぞれのツールで異なるバージョンを管理したいことがあります。
-
対象となる読者
- プロジェクト毎に各種ツールのバージョンが異なり、それらの管理に困っている方
-
本記事の価値
- 各種ツールのバージョン管理を行うことができる CLI ツール「asdf」を導入して、プロジェクト毎での各種ツールのバージョン切替を楽にすることが出来るようになります。
-
前提
- Linux 開発環境(Ubuntu)がある方
1. Install Dependencies
asdf で必要なライブラリをまずインストールしておきます。
apt install curl git
2. Download asdf
asdf の最新のソースコードをクローンしてきます。
git clone https://github.com/asdf-vm/asdf.git ~/.asdf --branch v0.10.0
3. Install asdf
Bash 環境として、~/.bashrc に以下を追加し、起動時に読み込むようにします。Completions も追加しておきます。以上で asdf のインストールは終了です。
. $HOME/.asdf/asdf.sh
. $HOME/.asdf/completions/asdf.bash
4. Install Plugins
それでは、各種ツール(プラグイン)のインストールをします。ここでは、NodeJS と Python を対象とします。
NodeJS の場合
asdf list all nodejs
で入手可能なバージョンを確認することができますが、ここでは最新のバージョンを入手します。
asdf plugin add nodejs https://github.com/asdf-vm/asdf-nodejs.git
asdf install nodejs latest
Python の場合
同様に、asdf list all python
で入手可能なバージョンを確認することができますが、ここでは 3.7.10 のバージョンを入手します。
asdf plugin add python
asdf install python 3.7.10
5. Set a Version(Global)
asdf は、現在の作業ディレクトリから HOME ディレクトリまでのすべての .tool-versions ファイルでツールのバージョン ルックアップを実行します。グローバル デフォルトは $HOME/.tool-versions で管理されます。 以下では、グローバル バージョンを設定します。
NodeJS の場合
asdf global nodejs latest
Python の場合
asdf global python latest
6. Set a Version(Local)
ローカル バージョンは、$PWD/.tool-versions ファイル (現在の作業ディレクトリ) で定義されます。 通常、これはプロジェクトの Git リポジトリになります。 目的のディレクトリに移動したら、次を実行します。
NodeJS の場合
asdf local nodejs latest
Python の場合
asdf local python latest