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

VS Code does not show Chrome as device for Flutter

提问人:user3523406 提问时间:9/17/2021 更新时间:9/10/2023 访问量:1797

问:

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

$ sudo snap install --classic code
$ sudo snap install --classic flutter 
$ export CHROME_EXECUTABLE="/usr/bin/chromium"
$ flutter doctor -v
[✓] Flutter (Channel stable, 2.2.1, on Linux, locale en_AU.UTF-8)
    • Flutter version 2.2.1 at /home/debian/snap/flutter/common/flutter
    • Framework revision 02c026b03c (4 months ago), 2021-05-27 12:24:44 -0700
    • Engine revision 0fdb562ac8
    • Dart version 2.13.1

[✗] Android toolchain - develop for Android devices
    ✗ Unable to locate Android SDK.
      Install Android Studio from: https://developer.android.com/studio/index.html
      On first launch it will assist you in installing the Android SDK components.
      (or visit https://flutter.dev/docs/get-started/install/linux#android-setup for detailed instructions).
      If the Android SDK has been installed to a custom location, please use
      `flutter config --android-sdk` to update to that location.


[✓] Chrome - develop for the web
    • CHROME_EXECUTABLE = /usr/bin/chromium

[!] Android Studio (not installed)
    • Android Studio not found; download from https://developer.android.com/studio/index.html
      (or visit https://flutter.dev/docs/get-started/install/linux#android-setup for detailed instructions).

[✓] Connected device (1 available)
    • Chrome (web) • chrome • web-javascript • Chromium 90.0.4430.212 built on Debian 11.0, running on Debian 11.0

! Doctor found issues in 2 categories.

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

enter image description here

我错过了什么?

Flutter visual-studio-code flutter-web

评论

1赞 user3523406 9/17/2021
我需要添加 .现在它起作用了。export CHROME_EXECUTABLE="/usr/bin/chromium"~/.bashrc
0赞 Rajesh 2/14/2022
对我来说,它很勇敢。在 home > ~/.bashrc 中添加 export CHROME_EXECUTABLE=“/snap/bin/brave” 解决了这个问题
0赞 Paul Kastel 8/29/2023
我留下似乎相关的答案的链接,应该在这里解决/帮助:stackoverflow.com/a/69205440/6229867

答:

1赞 Dmitry Semenov 9/10/2023 #1

TL的;博士

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

export CHROME_EXECUTABLE="/usr/bin/chromium"

长答案

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

问题在于设置此变量的位置

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

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

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

[✗] Chrome - develop for the web (Cannot find Chrome executable at google-chrome)
    ! Cannot find Chrome. Try setting CHROME_EXECUTABLE to a Chrome executable.

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

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