FerrumをMacOSのローカルで使う
ChromeのアップデートのためにChrome本体とChromeDriverの相性問題が出るのが嫌になったのでFerrumを使うことにしました。Macのローカルだとバイナリを探してくれずエラーになったので対処方法を記録しておきます。
エラーメッセージ
pry
でFerrum::Browser.new
と以下のようなエラーになる。
$ browser = Ferrum::Browser.new
Errno::ENOENT: No such file or directory - /usr/bin/google-chrome
from /Users/ironsand/.rbenv/versions/2.7.3/lib/ruby/gems/2.7.0/gems/ferrum-0.9/lib/ferrum/browser/process.rb:90:in `spawn'
対処方法
Ubuntu20.04のデフォルトだと/usr/bin/google-chrome
にインストールされるようなので、そこにsymlinkを作っておくことにします。
$ sudo ln -s /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome /usr/bin/google-chrome
ln: failed to create symbolic link '/usr/bin/google-chrome': Operation not permitted
試してみたらOperation not permitted
のエラーになってしまいました。そういえば最近のMacOSは/usr/bin
はOSが使うのでユーザーが何かを追加するのは非推奨なのを思い出したので/usr/local/bin
の方を使うことにしました。
$ ln -s /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome /usr/local/bin/google-chrome
// パスが通ってる事を確認
$ which google-chrome
/usr/local/bin/google-chrome
最後にFerrum::Browser.new
で起動できることを確認して終了。
参考
macos - Creating a symbolic link in /bin is not working - Ask Different