scoop で adb 34.0.5 をインストールするとエラー “Can’t shim ‘platform-tools\dmtracedump.exe’: File doesn’t exist.”

今日もプチはまりをメモしていきます。

個人的には、choco より scoop のが好きです。思い込みかもしれないが、scoop の方がインストール時にエラーがでることが少ない気がする。まあ、気がするだけかもしれませんが。。。

現象

タイトル通りなのですが、scoop で adb をアップデートしようとすると上記のエラーが発生してコケるっていう問題です。

cant install adb Can’t shim ‘platform-tools\dmtracedump.exe’: File doesn’t exist. [Bug] · Issue #5719 · ScoopInstaller/Scoop

ここで指摘されているように 大本の Platform Tools から dmtracedump.exe が削除されていることが問題のようです。

回避策

@BruceKangCN さんが指摘しているように、adb.json から dmtracedump.exe の行を削除すればいいです。

  1. scoopホーム/bucket/main/bucket/adb.json を開き
  2. 13 行目あたりを削除して保存
  3. $ scoop install (or update) adb

私の場合は /opt 下に scoop のホームをまとめていますが、普通は C:\Users\ユーザー名 下あたりにあるようです、その辺は調べてください。scoop 使う位なので自力で調べられるでしょう。

追記

上記実施すると次回の scoop update に失敗することがわかりました。インストールしたら .json ファイルを元に戻すのが良さそうです。

$ cd [adb.json のあるフォルダ]
$ git restore adb.json

scoop 内部ではどうやら git リポジトリをそのまま使用しているようで、ファイルを変更すると pull できないってエラーが発生します。restore で戻してやると回復します。

余談ですが、scoop とか choco とか一般ユーザーこそ使ったほうが便利だと思うのですが、まわりの非エンジニアの人たちで使っている人を見たことがありません。もったいないと思うんだけどな、まあそれはいいとして。

すでに修正版の PR は作成されているようなので近いうちにマージされるだろからそれまで adb@34.0.4 をインストールしてもいいかもしれません。