提问人:user3523406 提问时间:9/17/2021 更新时间:9/10/2023 访问量:1797
VS Code 不会将 Chrome 显示为 Flutter 的设备
VS Code does not show Chrome as device for Flutter
问:
我按以下方式安装 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 显示为设备:
我错过了什么?
答:
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 Doctor
Ctrl+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
有关配置文件之间差异的快速解释,请参阅此答案及其下方的其他答案。
评论
export CHROME_EXECUTABLE="/usr/bin/chromium"
~/.bashrc