anyenv から asdf に移行する

anyenv で pyenv を使うと path が通らなくなったため移行した

インストール

1
brew install asdf

python の追加

依存関係なので先にインストール

1
2
3
sudo apt-get update; sudo apt-get install make build-essential libssl-dev zlib1g-dev \
libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm \
libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev
1
asdf plugin-add python

Python 3.8.6, 2.7.18 の追加

1
2
asdf install python 3.8.6
asdf install python 2.7.18

Python のグローバルを定義

1
asdf global python 3.8.6 2.7.18

nodejs の追加

1
asdf plugin-add nodejs

nodejs 14.16.1 インストール

1
asdf install nodejs 14.16.1

nodejs グローバル設定

1
asdf global nodejs 14.16.1

path を通す

brew で入れてるので、こんな感じにすればおk

1
command brew --prefix asdf

した結果とつなげて書く僕のだとこう

  • .config/fish/config.fish
1
2
3
4
5
#- -----------------------------------------------------------------------------
#- asdf
#- -----------------------------------------------------------------------------
test -f /home/linuxbrew/.linuxbrew/opt/asdf/asdf.fish;
  and source /home/linuxbrew/.linuxbrew/opt/asdf/asdf.fish

プロジェクトで使う時

asdf では$PWD/.tool-versions にファイルが存在すればその version を使うようになっているためこれを利用する。下記のコマンドを Git などのプロジェクトディレクトリ直下で実行すればそのプロジェクトは該当の version のツールを使うことができる

1
asdf local python 3.8.6
Hugo で構築されています。
テーマ StackJimmy によって設計されています。