HomebrewのDocker Desktop 4.41.1でのアップグレード失敗を解決した件
今回は小ネタです。 最近のDocker Desktopでいくつか気になる新機能が実装されたので、久しぶりにDocker Desktopを導入しました。
Docker Desktop 4.41.0(190950)を導入した後に数日でパッチリリース4.41.1(191279)がやってきたので、 いつものようにbrew upgrade -g
でアップグレードを試していつも通り失敗したので、以前同様のトラブルを解決した時と同じ方法で解決できないか試してみました。
残念ながら、どうやってもダメでした。
% brew uninstall –cask docker % brew install –cask docker ==> Downloading https://raw.githubusercontent.com/Homebrew/homebrew-cask/08d802bc32187c338 Already downloaded: /Users/ytooyama/Library/Caches/Homebrew/downloads/a3c946e5d8585e3fd2cfe66e6aa7e1441b07e6e212c6f6142eb1447f56a94e2a–docker.rb ==> Downloading https://desktop.docker.com/mac/main/amd64/190950/Docker.dmg Already downloaded: /Users/ytooyama/Library/Caches/Homebrew/downloads/a53ee96c8bfa1d5c79f295058a96fe77b5693de2eee283d4884d6e9ed3d3ce23–Docker.dmg ==> Installing Cask docker ==> Moving App ‘Docker.app’ to ‘/Applications/Docker.app’ ==> Linking Binary ‘docker-compose.zsh-completion’ to ‘/usr/local/share/zsh/site-functions ==> Linking Binary ‘docker-compose.fish-completion’ to ‘/usr/local/share/fish/vendor_compl ==> Unlinking Binary ‘/usr/local/share/fish/vendor_completions.d/docker-compose.fish’ ==> Unlinking Binary ‘/usr/local/share/zsh/site-functions/_docker-compose’ ==> Backing App ‘Docker.app’ up to ‘/usr/local/Caskroom/docker/4.41.0,190950/Docker.app’ ==> Removing App ‘/Applications/Docker.app’ ==> Purging files for version 4.41.0,190950 of Cask docker Error: It seems there is already a Binary at ‘/usr/local/bin/compose-bridge’.
そこでこちらのコメントを参考に
以下のように実行したところ、今回のケースは解決したようです。
//–forceで消して % brew uninstall –cask docker –force
//–force付きでインストール
% brew install –cask docker –force
==> Downloading https://raw.githubusercontent.com/Homebrew/homebrew-cask/08d802bc32187c338
Already downloaded: /Users/ytooyama/Library/Caches/Homebrew/downloads/a3c946e5d8585e3fd2cfe66e6aa7e1441b07e6e212c6f6142eb1447f56a94e2a–docker.rb
==> Downloading https://desktop.docker.com/mac/main/amd64/190950/Docker.dmg
Already downloaded: /Users/ytooyama/Library/Caches/Homebrew/downloads/a53ee96c8bfa1d5c79f295058a96fe77b5693de2eee283d4884d6e9ed3d3ce23–Docker.dmg
==> Installing Cask docker
==> Moving App ‘Docker.app’ to ‘/Applications/Docker.app’
==> Linking Binary ‘docker-compose.zsh-completion’ to ‘/usr/local/share/zsh/site-functions
==> Linking Binary ‘docker-compose.fish-completion’ to ‘/usr/local/share/fish/vendor_compl
==> Linking Binary ‘compose-bridge’ to ‘/usr/local/bin/compose-bridge’
==> Linking Binary ‘docker’ to ‘/usr/local/bin/docker’
==> Linking Binary ‘docker-credential-desktop’ to ‘/usr/local/bin/docker-credential-deskto
==> Linking Binary ‘docker-credential-ecr-login’ to ‘/usr/local/bin/docker-credential-ecr-
==> Linking Binary ‘docker-credential-osxkeychain’ to ‘/usr/local/bin/docker-credential-os
==> Linking Binary ‘hub-tool’ to ‘/usr/local/bin/hub-tool’
==> Linking Binary ‘kubectl’ to ‘/usr/local/bin/kubectl.docker’
==> Linking Binary ‘docker-compose’ to ‘/usr/local/cli-plugins/docker-compose’
Password:
==> Linking Binary ‘docker.bash-completion’ to ‘/usr/local/etc/bash_completion.d/docker’
==> Linking Binary ‘docker.zsh-completion’ to ‘/usr/local/share/zsh/site-functions/_docker
==> Linking Binary ‘docker.fish-completion’ to ‘/usr/local/share/fish/vendor_completions.d
==> Linking Binary ‘com.docker.hyperkit’ to ‘/usr/local/bin/hyperkit’
==> Linking Binary ‘docker-compose.bash-completion’ to ‘/usr/local/etc/bash_completion.d/d
🍺 docker was successfully installed!
brew upgrade -g
を使ったアップグレード運用をやめて、各アプリのアップデートを使う運用のほうがいいかもしれませんね。とはいえ、この方法でハマるのは今のところDocker Desktopだけです。
ちなみに公式的にはまずこれを実行するのが筋のようです。 インストールやアップデートに失敗する現象はこれで治る可能性があるようです。 次に同じ問題が起きたら試してみようと思います。
brew update-reset && brew update
HomebrewのIssueはGitHubで投稿できるのですが、Issueを投稿するときにチェック項目にこのコマンドを試したかの選択肢があるのですよね。今回はbrew uninstall docker --force
で解決してしまったので、次のアップデートの時にでも試して、問題が解消しない際はIssue報告しようかなと思います。
[2025/05/12 Update]
バージョン4.41.2のアップデートは問題なく完了しています。