Closed4

書き直したasdf-flutterをrtxで使うとfvmの設定ファイルを読み込んでくれない

nyuyuyunyuyuyu

https://zenn.dev/nyuyuyu/articles/b46627214cf780

上記で書き直したasdf-flutterプラグインをrtxで使った時にfvmの設定ファイル(.fvm/fvm_config.json)が存在すると下記のエラーが出力される。

[DEBUG] rtx::config: Files: ~/path/to/.fvm/fvm_config.json, ~/.config/rtx/config.toml
Installed Plugins: flutter
[DEBUG] rtx::cli: rtx hook-env -s fish
[DEBUG] rtx::toolset::builder: flutter@latest
Error:
   0: No such file or directory (os error 2)

Location:
   src/hook_env.rs:115

Version:
   2023.10.1 macos-arm64 (2023-10-05)

Suggestion: Run with RTX_DEBUG=1 for more information.

Backtrace omitted. Run with RUST_BACKTRACE=1 environment variable to display it.
Run with RUST_BACKTRACE=full to include source snippets.

asdfではfvmの設定ファイルからFlutterのバージョンを設定してくれる。

nyuyuyunyuyuyu

rtxのコードと挙動を見る限り、たぶんlist-legacy-filenamesがパスを返す事を考慮してないような気がする。サブディレクトリ内に設定ファイルを置くというお作法はfvm以外では見た記憶が無いし、asdfもスクリプトの命名的には考慮してないのでは?(動くけど)という気がする。

幸いな事にrtxでは下記のように返してあげれば動くようなので一旦のワークアラウンドにしよう。(カレントディレクトリのfvm_config.jsonも読み込んでしまうけどエラーを吐くよりはマシなので)

echo ".fvm/fvm_config.json fvm_config.json"

(すごいエッジケースな気がするのでrtxにPR出すかは微妙な所...)

このスクラップは2023/10/16にクローズされました