【asdf】no such file or directory: /xxx/.asdf/asdf.sh
こんにちは、フリーランスエンジニアの太田雅昭です。
asdf
asdfは、node, php, などのバージョン管理ツールです。Macだとnodeなどはbrewでインストールするかと思いますが、これだとバージョンが固定されてしまいます。そのため、asdfなどを使用します。ちなみにasdf以外だと、Dockerでもプロジェクトごとにバージョンを変えれますね。
.asdf/asdf.shが見つからない
前のMacでFlutter開発をしていたのですが、少し前にPCを買い替えた時に環境は引き継がなかったので、今回Flutterをインストールしようとしました。Rubyのバージョンが低いと言われたので、asdfでRubyをバージョンアップしたのですが、globalで最新バージョンが適用されない。そこでasdf公式サイトに記載のあった、以下のラインを.zshrcに追記しました。
. "$HOME/.asdf/asdf.sh"
すると以下のエラーになりました。
no such file or directory: /xxx/.asdf/asdf.sh
確認すると確かにこのファイルは存在しません。なぜだろうと。公式サイトに記載のあるこのパスが存在しないのはなぜだろうと、GPT先生に聞いても解決しなかったのですが、原因はbrewでした。
今回asdfをbrewでインストールしていたのですが、そうするとパスがgitでインストールする場合と異なる様です。そして、公式サイトで紹介されていたのは、gitでインストールした場合のパスだったようです。
brewでasdfをインストールした場合の、正しいパスは以下になります。
. /opt/homebrew/opt/asdf/libexec/asdf.sh
これで動く様になりました。
余談
ドラッグストアってペットボトル安いのは、なぜなんでしょう。コンビニに比べてかなり安いですよね。収益を得る部分が違うのでしょうか。そういえば、コンビニコーヒーが安いのは、コーヒー以外で儲けているためだと聞いた様な。。。