【Homebrew】Windows10で$ brew install chromedriverはできない


コトの顛末

Windowsにrubyを導入して、seleniumを使用した自動テストや情報収集をするツールを作りたくて、
環境構築をしておりました。
そのなかで、chromedriverなるものをDLしてパスを通すをしてくださいということが書いてあったのですが、
「え、何言ってるのわからない。エラーでるし。」ってなっていろいろ調べていたら、

$ brew install chromedriver

このコマンドで簡単にインストールできるよ。
って記事を見たので打ち込みでみたら、
「Homebrewが入ってないからこのコマンドを実行できないよ」となりました。

と、いうことで
Windows10にHomebrewをインストールしてから、再度selenium用の環境構築しよう!
ってなわけで始まりました。

結論 Windowsで$ brew install chromedriverはできない

できないと言ったら語弊がありますが、キッパリ言いました。
悲劇は繰り返してはならない。
そのためのQiita、そのためのteratail。

ちゃんと説明すると、
環境構築で$ brew install ~の類のコマンドは使えるようになります。
しかし、$ brew install chromedriverはMACしかサポートしてないため、

コマンドは動く、やってほしいことはできない。

という結果に終わりました。

$ brew install chromedriver
Updating Homebrew...
==> Auto-updated Homebrew!

~ 省略 ~

Error: No available formula with the name "chromedriver"
You can access it again by running:
  brew tap homebrew/cask
And then you can install it by running:
  brew cask install chromedriver

エラーが出て、$ brew cask install chromedriverでやってみたら?
という提案がターミナル上に表示されます。

$ brew cask install chromedriver
Error: Installing casks is supported only on macOS

supported only on macOS

うわぁ...たまげたな....
環境構築中にもいろいろエラー出て、やっとbrew使えるようになったのに

MACだけよ^^

とかいう喜劇。

たった1つのコマンドを入力するためにやったこと

結果的にMACでやろうね^^と一蹴されてしまったのですが、
Windowsでbrewを使用するには下記のような環境構築が必要でした。

1.WSLを有効にしてLinuxを使用できるようにする
2.UbuntuをストアからDLしてLinuxコマンドを使用できるようにする
3.Homebrewをインストールしてbrew hogehogeコマンドを使えるようにする。

各種参考記事

Windowsでもbrewを使いたい!WSLのインストールとホームディレクトリの変更、そしてbrewが使えるようになるまで

まず、「brew導入しよう!」ってなった時に見た記事はこちらです。
ニッチなことがらだったので、記事があるか不安だったのですが、先人の知恵記事があり大変助かりました。

こちらの記事でもできるようですが、私の環境では途中で「コマンドがないよ」的なエラーが出てしまいました。

そしたら、下記のような記事を教えて貰いました。

Windows 10にUbuntuをインストールしよう

この記事内ではUbuntuアップデートコマンドが書かれており、「コマンドがないよ」のエラーは解決しました。

$ sudo apt update
$ sudo apt upgrade

日本語環境用パッケージのインストールコマンドと、日本語環境の設定についても書かれており、大変助かりました。

$ sudo apt install language-pack-ja
$ sudo apt install manpages-ja

これで、なんとかWindowsでLinux環境が整い、
brew hogehoge的なコマンドが使用できるようになりました。

ここから、brewを入力していくのですが、

rubyを入れてね!とかそういうエラーが出ました。

コマンドプロンプト(winのターミナル)でruby使用できるのになんでだろうと想ったら、
コマンドプロンプトと、Ubuntuで別物なので、再度ruby入れないといけないようで入れました。

それでも出る出るwarning

Warning: /home/linuxbrew/.linuxbrew/bin is not in your PATH.)

いわゆるパスを通してないってことでしょうか。
指定された場所にファイルがないから実行できないっていう感じですかね。

下記のサイトを見て解決しました。

linuxbrewのインストール時(Warning: /home/linuxbrew/.linuxbrew/bin is not in your PATH.)が発生する

$echo 'export PATH="/home/linuxbrew/.linuxbrew/bin:$PATH"' >>  ~/.bashrc
$source ~/.bashr

結局どうしたこうした

windowsならruby + selenium webdriverも環境設定は15分で終わる

上記の記事を参考に、書かれたことを忠実に行い、
とりあえず、指定のURLをchromeで開くだけのミニマム実装したプログラムを実行したら動作しました。
なのでここからは普通にseleniumを使用した実装に突入します。

おわりに

いかがでしたでしょうか。
時間はかかったし、簡単なゴールだったはずなのに
な ぜ か 苦戦した事案でした。
環境構築ってそんなに何度もすることではないし、
すばらしい記事がそこらへんに転がっているので、
苦戦しながら構築するっていい経験だったなぁと思いました。