WSL2を介してWindowsのchrome実行可能ファイルを使用しようとしています$CHROME_EXECUTABLE
。
私のbashrcには次のものがあります。
export CHROME_EXECUTABLE="/mnt/c/program\ files/google/chrome/application/chrome.exe"
これにより、flutter doctor
苦情は$CHROME_EXECUTABLE
Chrome実行可能ファイルを指していません。 Bashで実行すると、$CHROME_EXECUTABLE
次のような結果が得られます。
bash: /mnt/c/program\: No such file or directory
ただし、実行すると動作し、/mnt/c/program\ files/google/chrome/application/chrome.exe
ウィンドウ内にChromeインスタンスが開きます。
ここに脱出問題があるようですが、何が起こっているのかよくわかりません。\
「プログラムファイル」のスペースが脱出しているとしますか?
答え1
正直なところ、私はFlutterを使用していないので、ここでは間違っているかもしれませんが、いくつかの簡単な調査によると、Flutterは単にChromeを「実行」する以上の役割を果たしているようです。そのためには、Chromium実行可能ファイルが必要です。言う(おそらくwebdriver経由)デバッグ用です。
その場合は、WindowsバージョンのChromeをLinuxバージョンのFlutterと一緒に使用することはできません。これは次のようになります。Seleniumを含むWindowsバージョンのChromeをお試しください。。これは、パスが正しい場合でも、Windowsバイナリが「Chrome実行可能ファイル」ではないとFlutterが文句を言う理由を説明しています。
この場合の回避策は、WSLにLinuxバージョンのChrome(またはChromium)をインストールすることです。次はこの問題、次の方法でこれを行うことができます。
- WSLgを使用してWindows上でLinux GUIアプリケーションの実行をサポートするためにWindows 11にアップグレードされました。
- harrymcの答えに基づいてWindowsでサードパーティのXサーバーを使用する
xrdp
私の答えに基づいて使用されました。これは直接リンク完全なステップを提供するAsk Ubuntuの回答にアクセスしてください。
xrdp
少なくとも私はこの方法を使用してWSLでSeleniumを正常に実行しました。
答え2
C:\progra~1
Chromeがオンになっている場合は、以前の8.3命名スタイルを使用できます。
/mnt/c/progra~1/google/Chrome/Application/chrome.exe
適切な短い名前を見つけるには、以下を使用してください。
DIR C:\ /X
答え3
export CHROME_EXECUTABLE="/mnt/c/Program Files/Google/Chrome/Application/chrome.exe"
これは私にとって効果的です