とことんDevOps | 日本仮想化技術のDevOps技術情報メディア

DevOpsに関連する技術情報を幅広く提供していきます。

日本仮想化技術がお届けする「とことんDevOps」では、DevOpsに関する技術情報や、日々のDevOps業務の中での検証結果、TipsなどDevOpsのお役立ち情報をお届けします。
主なテーマ: DevOps、CI/CD、コンテナ開発、IaCなど
読者登録と各種SNSのフォローもよろしくお願いいたします。

HomebrewのDocker Desktop 4.41.1でのアップグレード失敗を解決した件

今回は小ネタです。 最近のDocker Desktopでいくつか気になる新機能が実装されたので、久しぶりにDocker Desktopを導入しました。

Docker Desktop 4.41.0(190950)を導入した後に数日でパッチリリース4.41.1(191279)がやってきたので、 いつものようにbrew upgrade -gでアップグレードを試していつも通り失敗したので、以前同様のトラブルを解決した時と同じ方法で解決できないか試してみました。

devops-blog.virtualtech.jp

残念ながら、どうやってもダメでした。

% 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'.

そこでこちらのコメントを参考に

github.com

以下のように実行したところ、今回のケースは解決したようです。

//--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のアップデートは問題なく完了しています。