どういう状況か
Cypress をブラウザ指定で実行するとき、「ブラウザが見つからない」というエラーが出るときがあります。もちろん、当該ブラウザは正しくインストールされている場合です。
例えば以下のようなエラーメッセージです。
$ cypress run --browser chrome Can't run because you've entered an invalid browser name. Browser: 'chrome' was not found on your system or is not supported by Cypress. Cypress supports the following browsers: - chrome - chromium - edge - electron - firefox You can also use a custom browser: https://on.cypress.io/customize-browsers
どうすればいいか
エラーが出る理由は、エラーメッセージにある、chrome
や edge
や firefox
という名前でコマンドを実行した場合にコマンドが見つからないからです*1。
したがって、たとえば $ cypress run --browser chrome
を正しく実行させるためには $ chrome
というコマンドにより Chrome が起動すればいいわけです。
解決方法はいくつかあります。
1. シンボリックリンクを作成する
公式ドキュメントにもあるとおり、シンボリックリンクを作成します。
上記の例の場合ですと例えば以下のようにシンボリックリンクを張って chrome
というコマンドを実行可能にすればいいです。
ここで、/opt/google/chrome/chrome
は Chrome の実体がある場所です。/usr/local/bin/chrome
は PATH が通っている場所です*2。
$ sudo ln -s /opt/google/chrome/chrome /usr/local/bin/chrome
これで、$ cypress run --browser chrome
が正しく実行できるはずです。
2. 実体がある場所に PATH を通す
上記の例の場合において、/opt/google/chrome/chrome
に PATH を通すという方法でも OK です。