使用 brew 安装以前版本的 chromedriver



我想用brew安装chromedriver版本79.0.3945.36。当我尝试跑步时

brew cask install chromedriver@79.0.3945.36

它无法说chromedriver@79.0.3945.36 is unavailable: No Cask with this name exists.

我做了一个快速检查,没有发现桶形公式有版本化的公式。

安装旧版本桶式配方的黑客方法是:

  • cd /usr/local/Homebrew/Library/Taps/homebrew/homebrew-cask,去参考木桶的地方
  • git reset --hard c3c1b84b7a,这将有效地将Chrome驱动程序设置为v79.0.3945.36
  • git checkout -b temp,签出一个新分支,这会阻止brew自动刷新本地主数据
  • brew install --cask chromedriver,这将安装您想要的版本。

之后,您可以随时执行git checkout masterbrew up,以与最新的homebrew-cask大师保持同步。

这是我的安装日志

==> Downloading https://chromedriver.storage.googleapis.com/79.0.3945.36/chromedriver_mac64.zip
Already downloaded: /Users/rchen/Library/Caches/Homebrew/downloads/2712e559b7e0712e196b123a7581adecc2cfdc8d8d728b01fd875b3d371e5d29--chromedriver_mac64.zip
==> Verifying SHA-256 checksum for Cask 'chromedriver'.
==> Installing Cask chromedriver
==> Linking Binary 'chromedriver' to '/usr/local/bin/chromedriver'.
🍺  chromedriver was successfully installed!

测试日志:

$ chromedriver --version
ChromeDriver 79.0.3945.36 (3582db32b33893869b8c1339e8f4d9ed1816f143-refs/branch-heads/3945@{#614})

为了建立@chenrui的答案,这就是我在 M1 Mac 上的做法(从 93 降级到 92(。这也应该适用于英特尔(通过brew --prefix(。

# Get commit which upgraded
cd "$(brew --prefix)/Library/Taps/homebrew/homebrew-cask/Casks"
git log chromedriver.rb
# Revert commit(s) which upgraded, eg ed35867f216512c9840756dce57e61f8eac26bb6
git revert ed35867f216512c9840756dce57e61f8eac26bb6
# Reinstall
brew reinstall chromedriver
# Pin version
brew pin chromedriver
# Resolve error: "chromedriver" cannot be opened because the developer cannot be verified.
xattr -d com.apple.quarantine "$(which chromedriver)"
# Later, when version no longer needs to be pinned
brew unpin chromedriver

我在下面尝试过,它奏效了!

  1. 转到/usr/local/Homebrew/Library/Taps/homebrew/homebrew-cask/Cask 并编辑名为 chromedriver.rb\ 的文件
  2. 在第二行更新所需的 chromedriver 版本

(有关所需的版本号,请参阅 - https://sites.google.com/chromium.org/driver/downloads(

  1. 从终端运行brew reinstall chromedriver
  2. 您将收到错误消息,指出 SHA 与预期值和实际值不匹配。从终端复制实际值并将其替换在chromedriver.rb文件中

(注意:您可能需要删除下载的chromedriver.zip文件,按照终端错误消息中提到的指令/路径位置删除该文件,然后继续下一步(

  1. 再次运行brew reinstall chromedriver

要添加到@chenrui和@zubin的解决方案中,请记住

导出HOMEBREW_NO_INSTALL_FROM_API=1

或 brew 将默认从 API 获取最新的 chromedriver。

最新更新