VS Code 不将 Chrome 显示为 Flutter 的设备

use*_*406 6 visual-studio-code flutter flutter-web

我通过以下方式安装 Flutter 和 VS Code:

\n
$ sudo snap install --classic code\n$ sudo snap install --classic flutter \n$ export CHROME_EXECUTABLE="/usr/bin/chromium"\n
Run Code Online (Sandbox Code Playgroud)\n
$ flutter doctor -v\n[\xe2\x9c\x93] Flutter (Channel stable, 2.2.1, on Linux, locale en_AU.UTF-8)\n    \xe2\x80\xa2 Flutter version 2.2.1 at /home/debian/snap/flutter/common/flutter\n    \xe2\x80\xa2 Framework revision 02c026b03c (4 months ago), 2021-05-27 12:24:44 -0700\n    \xe2\x80\xa2 Engine revision 0fdb562ac8\n    \xe2\x80\xa2 Dart version 2.13.1\n\n[\xe2\x9c\x97] Android toolchain - develop for Android devices\n    \xe2\x9c\x97 Unable to locate Android SDK.\n      Install Android Studio from: https://developer.android.com/studio/index.html\n      On first launch it will assist you in installing the Android SDK components.\n      (or visit https://flutter.dev/docs/get-started/install/linux#android-setup for detailed instructions).\n      If the Android SDK has been installed to a custom location, please use\n      `flutter config --android-sdk` to update to that location.\n\n\n[\xe2\x9c\x93] Chrome - develop for the web\n    \xe2\x80\xa2 CHROME_EXECUTABLE = /usr/bin/chromium\n\n[!] Android Studio (not installed)\n    \xe2\x80\xa2 Android Studio not found; download from https://developer.android.com/studio/index.html\n      (or visit https://flutter.dev/docs/get-started/install/linux#android-setup for detailed instructions).\n\n[\xe2\x9c\x93] Connected device (1 available)\n    \xe2\x80\xa2 Chrome (web) \xe2\x80\xa2 chrome \xe2\x80\xa2 web-javascript \xe2\x80\xa2 Chromium 90.0.4430.212 built on Debian 11.0, running on Debian 11.0\n\n! Doctor found issues in 2 categories.\n
Run Code Online (Sandbox Code Playgroud)\n

不幸的是,VS代码没有将chrome显示为设备:

\n

在此输入图像描述

\n

我错过了什么?

\n

Dmi*_*nov 2

长话短说

\n

~/.profile在文件(或~/.bash_profile某些发行版)中添加以下行并重新登录。

\n
export CHROME_EXECUTABLE="/usr/bin/chromium"\n
Run Code Online (Sandbox Code Playgroud)\n

长答案

\n

为了让 Flutter 能够找到除 google-chrome 之外的基于 chromium 的浏览器,您需要将$CHROME_EXECUTABLE环境变量设置为该浏览器的路径。

\n

问题是你在哪里设置这个变量。

\n

从命令 shell(如 bash)手动运行 Flutter 时,需要在该 shell 会话中设置该变量。这可以通过预先运行导出命令来实现,或者,正如我错误地执行的那样,通过将其添加到 shell 的配置文件(例如~/.bashrc)中来实现。

\n

但是,VS Code 不flutter通过交互式 shell 执行。因此,在这种情况下,类似的文件.bashrc不会被执行。因此,您在那里设置的任何逻辑(例如导出$CHROME_EXECUTABLE或扩展$PATH)都会被忽略。

\n

>Flutter: Run Flutter Doctor要确认这一点,您可以在 VS Code 的命令面板 ( ) 中执行Ctrl+Shift+P。输出将显示在 VS Code 的上下文中,Flutter 看不到该$CHROME_EXECUTABLE集合:

\n
[\xe2\x9c\x97] Chrome - develop for the web (Cannot find Chrome executable at google-chrome)\n    ! Cannot find Chrome. Try setting CHROME_EXECUTABLE to a Chrome executable.\n
Run Code Online (Sandbox Code Playgroud)\n

解决方案是正确定义环境变量,而不仅仅是交互式 shell。Linux 发行版之间执行此操作的方法有所不同。在 Arch Linux 中,对我有用的是将它们放入~/.bash_profile而不是~/.bashrc. 请注意,要使对此文件的更改生效,您需要重新登录系统。在 Ubuntu 中,~/.profile可能需要改用。

\n

有关配置文件之间差异的出色快速解释,请参阅此答案及其下面的其他答案。

\n