Another System Definition Facility
Common Lispにとってのmake、そしてCPAN, RubyGemsなどに相当するアドオン*1管理システム。repl内で
(asdf-install:install アドオン名)
とすることでコンパイル→インストールできる。楽チンである。
*1:パッケージと言いたいところだが、Common Lispのパッケージは名前空間を分離するシステムなので…
はじめに wslにnodeの環境構築をしたかった。 nvmやnがあり、どれをインストールするか迷ったが、今後他言語の環境構築もする予定なのでもろもろ包括的にインストールできるasdfを使おうと思ったが、それと互換がある後発のmiseというものがあったのでそれを使う。 github.com 手順 クイックスタート通りにインストールする。 curl https://mise.run | sh echo 'eval "$(~/.local/bin/mise activate bash)"' >> ~/.bashrc source ~/.bashrc miseのインストール完了。 nodeについてはと…
言語バージョン管理ツールとしてasdfに替わるものがないか探していて、miseが最新トレンドになっているのを知り、自分もmiseを使い始めてみた。 Home | mise-en-place 長らくasdfを利用していたが、asdfが起因となっている言語環境関係の障害に何度も遭遇したので、もうasdfを使うのはやめたいと考えていた。asdfの言語のバージョンの切り替え方法はシェルスクリプトが使われているが、この手法が環境によっては上手く動いてくれないときがある。asdfの前に使っていたanyenvに戻そうかと思って、いくつかのPC開発環境ではそうしていたが、anyenvは対応言語の種類が少なすぎ…
直した。ちょっと前の話です。 asdf-vm.com どうやらasdf 0.16.0で相当数のbracking changesが入ったようなので、ドキュメントに書かれてる通り$ASDF_DATA_DIR/shimsをPATHに追加して、asdf reshimを流して元通り。ついでに使用してないpluginを削除するなどして、整理もした。 とりあえず今のところ大丈夫そうなので、これで様子を見ている。
TL;DR 課題 asdfとは 複数の言語とツールをサポート プラグインベース プロジェクト毎にバージョンの切り替えが容易 再現性のある環境構築 asdf利用による解消点 asdfの使い方 最後に SENSYプロダクト開発チームの根岸です。 TL;DR 複数の言語(Python、Goなど)を使った開発で、各言語ごとに異なるバージョン管理ツール(pyenv、goenvなど)を使うのは面倒でした。その代替として、様々な言語やツールを一元管理できる asdf を試してみました。 asdfの概要: asdfは多言語対応のバージョン管理ツールで、プロジェクト毎に必要な言語・ツールのバージョンを .too…
去年anyenvからasdfに乗り換えて以降、プロジェクトのNode.jsのバージョンが変わるたびに呪文的に下記のコマンドを実行していたため、改めて調べました。 asdf install nodejs {version} corepack enable asdf reshim nodejs 最後にreshimをしないとpnpm呼び出し時に既にinstallしたはずのnodejsのバージョンをinstallしてとエラーになります $ pnpm -v No preset version installed for command pnpm Please install a version by r…
やっとApple Siliconデビューしました。Intel Macで何も困っていなくてズルズルと使ってたんですが、たまたま縁があり、M1を使わせていただくことになりました。今のところ大変快適です。 Apple Siliconデビューしたのが遅かったからか、M1初期にあったツールが対応していないという状況にもなかなか出会わなくて、なーんだ普通じゃん?とか思ってたんですが、とうとう非対応なツールに巡り合ってしまいました。 $ aws /opt/homebrew/Cellar/asdf/0.14.1/libexec/lib/commands/command-exec.bash: line 28: …
asdfでPythonのバージョンを追加インストールしようとしたら、下のようなエラーが起きて、できない状況に遭遇した。 % asdf install python 3.12.3 python-build 3.12.3 /Users/LOGNAME/.asdf/installs/python/3.12.3 python-build: use openssl@3 from homebrew python-build: use readline from homebrew Downloading Python-3.12.3.tar.xz... -> https://www.python.org/ft…
WindowsにてWSL2を利用して、asdf+PoetryによるPython開発環境を構築する方法をまとめました。 環境構築の必要性と用語や、macOSでの構築は下記記事をご覧ください。 仮想環境とパッケージ管理の必要性 macOSでの環境構築
Poetryを使ったPythonの仮想環境とパッケージ管理について、自分なりに整理してみました。 第2回はasdf+Poetryの組み合わせによる環境構築の手順と、環境複製についてまとめます。 必要性や用語についてまとめた、第1回はこちら。 WSL2を使ったWindows環境での構築はこちら。
asdfって.tool-versionsがあるディレクトリでasdf installを実行すると、.tool-versionsに書かれたツールが指定のバージョンでインストールされるんですが、ツールをインストールする前にそのツールをasdf plugin addしておかいないといけないんですよね。で、このplugin addは自動ではやってくれなくて(知らないだけ?)やり方を色々探したら以下のPRが見つかりました。 github.com install --addを実装したよっと言ってくれてるのですが結局この変更はマージされないままクローズされてしまいました。途中は全然読んでいないんですが、最後…