Watch out for binary shadowing

This is part of the Semicolon&Sons Code Diary - consisting of lessons learned on the job. You're in the dumb-mistakes-and-gotchas category.

Last Updated: 2024-11-23

chromedriver, which I used for browser testing, needed updating to work. I did so, yet it still failed, leaving me perplexed.

Ultimately, I figured out why: the chromedriver binary that came first on my PATH came from a Ruby gem (technically a "shim" of a Ruby gem) instead of the package managed I used on macos (Homebrew). Therefore my fix had no effect since I was still calling the wrong chromedriver version.

Lessons

Watch out for having multiple versions of a binary on your path that shadow each other. I could have figured out that I had multiple binary versions with $ which -a chromedriver.

What's more, I should have gotten the hint sooner because the binary I used said v. 2.40 whereas Homebrew said it installed v85. So another lesson is to pay attention to version differences in future and suspect binary shadowing.