Cannot find Chrome. Try setting CHROME_EXECUTABLE to a Chrome executable. Flutter 2.0 - flutter

I updated My flutter Version from 1.22 to 2.0. There are some errors in Flutter Doctor. How Could I solve this. That happen Afer Updated my Flutter Version.
I am Using Android Studion 4.1.2, Ubuntu 20.04.2 LTS(64 bit)

For Ubuntu 20.04, chromium is managed by snap. I set the environment variable as shown below.
CHROME_EXECUTABLE=/snap/bin/chromium
export CHROME_EXECUTABLE
Try 'type chromium' to make sure of the location on your system. I assume something similar will work for chrome.

For ones who use MacOS and with another chromium-based browser than Google Chrome (Brave in my case). You can set in .zshrc or .bashrc
export CHROME_EXECUTABLE="/Applications/Brave Browser.app/Contents/MacOS/Brave Browser"
After that, don't forget to source ~/.zshrc or source ~/.bashrc in the current terminal window.
flutter doctor -v
Now, "Chrome" will be seen as "Brave".

I had the same error in Windows 10, Using VS Code even after setting CHROME_EXECUTABLE system environmental variable to the path of chrome.exe. I solved it by removing the double quotes around the path:

Even though you have a google chrome app in your system. It may have command like google-chrome-stable or chrome or any name to open chrome browser from terminal. Just duplicate the file with google-chrome name in /usr/bin/
Eg: I have google-chrome-stable as executable so my approach is like
sudo cp /usr/bin/google-chrome-stable /usr/bin/google-chrome
You may have bin in snap folder or some other folder depending on your installation way
If you're not having chrome as executable from terminal then create a symbolic link. Find your chrome binary file and use this command
sudo ln -s $PATH/[google-chrome-bin] /usr/bin/google-chrome
Replace [google-chrome-bin] with your binary file name

I'm on a Chromebook. I installed Flutter and Android Studio. When I ran $flutter doctor -v, I got the same error message that you got.
I didn't need to export the file path to my path environment. I just needed to install Chrome so that Flutter could find it on my Chromebook.
Here was the command that worked for me:
wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
Then I installed it using the Linux beta command (right click on the downloaded file, install using Linux beta). It installed it to this directory:
/usr/bin/
(Alternatively, for the install, I could've used this command:
sudo apt install ./google-chrome-stable_current_amd64.deb)
I ran flutter doctor -v and now it finds Chrome.

you can export PATH in your .bashrc or .zshrc if you use Linux or MAC OS
you can found installed chrome PATH using which
for example
which google-chrome
# example result : /opt/google/chrome/google-chrome
then add to .zshrc or .bashrc like this
# Chrome PATH
export PATH=$PATH:/opt/google/chrome
then restart source
source .zshrc # change if you use .bashrc
running the flutter doctor
you will see the output like this
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 2.2.1, on Linux, locale en_US.UTF-8)
[✓] Android toolchain - develop for Android devices (Android SDK version
30.0.3)
[✓] Chrome - develop for the web
[✓] Android Studio (version 4.2)

The answers here have helped me setup Flutter on Mac with Microsoft Edge instead of Chrome.
For that, you simply run from your terminal:
export CHROME_EXECUTABLE="/Applications/Microsoft Edge.app/Contents/MacOS/Microsoft Edge"
If you want to make this permanent, you should add the above line to the file
~/.zshenv or ~/.zshrc
Then save and restart terminal.

For Linux users, you can add Edge Browser like this...
first, add this path in .bashrc file path
PATH=$PATH:/usr/bin/microsoft-edge-stable
then execute this command
export CHROME_EXECUTABLE="/usr/bin/microsoft-edge-stable"

For MacOS Users
cd to /Users/<your user>
sudo nano ~/.zshenv
Add the following:
export PATH="$PATH:/Applications/Microsoft Edge.app/Contents/MacOS/Microsoft Edge"
export CHROME_EXECUTABLE="/Applications/Microsoft Edge.app/Contents/MacOS/Microsoft Edge"
Save the file and restart the IDE terminal
Run flutter doctor

For MacOs User (Vivaldi Browser)
This command sets your PATH variable for the current terminal window only. To permanently add CHROME_EXECUTABLE to your path
export CHROME_EXECUTABLE="/Applications/Vivaldi.app/Contents/MacOS/Vivaldi"
To permanently add CHROME_EXECUTABLE to your path
Open (or create) the rc file for your shell. Typing echo $SHELL in your Terminal tells you which shell you’re using. If you’re using Bash, edit $HOME/.bash_profile or $HOME/.bashrc. If you’re using Z shell, edit $HOME/.zshrc. If you’re using a different shell, the file path and filename will be different on your machine.
If you are using zsh create .zshrc enter a command touch .zshrc which will create a .zshrc file at your hardisk and vice versa for bash.
Go to your finder and press shift + command + H after that again hit a command shift + command + . you will find .zshrc file.
now open .zrch file and add your path
CHROME_EXECUTABLE="/Applications/Vivaldi.app/Contents/MacOS/Vivaldi"
and restart your terminal and you are done.

in my case it was because the name of my chrome was "google chrome 2.app"
i renamed it to "google chrome.app"

You can also try with just chrome instead of google-chrome.

Related

Flutter plugin mot installed still occurs even if I have installed it

I am working on Windows so the following command does not work.
ln -s ~/Library/Application\ Support/Google/AndroidStudio4.1/plugins ~/Library/Application\ Support/AndroidStudio4.1
Any idea?
The last command you mentioned is specifically for MAC users not for Windows.
Anyhow, try the below commands and check if it is working fine.
flutter channel dev
flutter upgrade
flutter config --android-studio-dir="C:\Program Files\Android\Android Studio"
flutter doctor -v
Note: Make sure to change commands based on your directory structure.
I solved the issue with the following ways.
Requirement: You have Git installed on your machine.
Create a folder, for example, src directly in a root path. This procedure is the same as what explained in the flutter official download page. So you now have d:\src for example.
Open powershell or cmd, navigate to d:\src and execute git clone -b master https://github.com/flutter/flutter.git. You need to select master branch here because the stable version still has your issue (as of the time of writing).
Once the cloning finishes, execute flutter doctor -v. The problem should vanish.
You might need to set write access to the flutter folder such that Android Studio can create Flutter project files, etc.

zsh: permission denied when trying to use flutter

I have been working with flutter for a week now and it runs okay, however I can't use commands such as flutter doctor or flutter upgrade on my terminal nor Android studio. Whenever I try to run a flutter command I get
zsh: permission denied: /Users/name/flutter/bin.
I tried adding the source to nano ~/.zshrc and export PATH, but nothing worked.
I faced this issue when setting up Flutter on my new mac, even after setting the PATH correctly. Turns out i installed the wrong SDK (Window). So make sure to install the correct Flutter SDK on your respective OS.
For MacOS :
https://flutter.dev/docs/development/tools/sdk/releases?tab=macos
For Window :
https://flutter.dev/docs/development/tools/sdk/releases?tab=windows
Make sure you've installed the correct SDK for your machine. For me I had installed Flutter's Windows SDK on my Mac machine.
For macOS : https://flutter.dev/docs/development/tools/sdk/releases?tab=macos
For Window: https://flutter.dev/docs/development/tools/sdk/releases?tab=windows
If you added the path and sure that you have downloaded the correct os files and still get the error:
Go to flutter folder
Empty folder
Open terminal and go to the flutter folder
git clone https://github.com/flutter/flutter.git -b stable
Run below command in the terminal, it worked for me
export PATH="/<full-path-of-flutter-folder>/bin:$PATH"
add the sudo prefix to your command. I guess you are not the admin.
eg: sudo flutter doctor

Command in parcel.js --open 'google chrome' does not work on Windows, only works on MacOS

I use parcel.js to set up my project. This command --open 'google chrome' does not work on Windows, only works on MacOS. The error is: Windows cannot find 'google'. Make sure you typed the name correctly, and then try again.
The browser value passed to --open [browser] is platform-dependent:
Windows: chrome
Linux: google-chrome
MacOS: google chrome
Parcel uses the opn package to start the browser. From the opn documentation:
Type: string | string[]
Specify the app to open the target with, or an array with the app
and app arguments.
The app name is platform dependent. Don't hard code it in reusable
modules. For example, Chrome is google chrome on macOS,
google-chrome on Linux and chrome on Windows.
You may also pass in the app's full path. For example on WSL, this can
be /mnt/c/Program Files (x86)/Google/Chrome/Application/chrome.exe
for the Windows installation of Chrome.

VS Code doesn't add command line on path permanently on Mac

I am using VS code 1.8.1 on Mac 10.12.3 (16D32). After launch vscode, I run cmd shift p to open command search field. Then run Install code command in Path. I can see the code got added on PATH but it got removed after I close vs code. Is there a way to add it permanently?
So I've just had this issue during setup of a new laptop and found a simple (but slightly embarrassing) solution that worked for me. After faffing about with it for way too long I noticed I had left it in Downloads. I moved the .app file to /Applications and ran the command-line install function again and now the "code" command persists.
Add this to your ~/.bash_profile
export PATH="$PATH:/Applications/Visual Studio Code.app/Contents/Resources/app/bin"
source: https://code.visualstudio.com/docs/setup/mac
I am assuming you've checked this link.
VSCode application generally resides in /Applications/Visual Studio Code.app/Contents/Resources/app/bin/code.
Follow these steps to access VSCode through code on shell.
Open bash_profile page
sudo vi /etc/paths
Add an extra line in the list of PATH folders as
/Applications/Visual\ Studio\ Code.app/Contents/Resources/app/bin/
Exit from vi: Esc > :wq! > Enter Key
Restart shell. Then do echo $PATH to confirm VSCode has been added successfully.
Check code command is added by typing which code. You should see VSCode path printed on screen.
Try this link if it doesn't work out.
Edit: I am using version 1.9.1 and after I ran Install code command in Path it got added permanently.
Visual Studio Code
rm /usr/local/bin/code
ln -s "/Applications/Visual Studio Code.app/Contents/Resources/app/bin/code" /usr/local/bin/code
Visual Studio Code - Insiders
rm /usr/local/bin/code-insiders
ln -s "/Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/bin/code" /usr/local/bin/code-insiders
For Big Sur:
From the official docs:
Note: Since zsh became the default shell in macOS Catalina, run the
following commands to add VS Code to your path:
cat << EOF >> ~/.zprofile
# Add Visual Studio Code (code) export PATH="\$PATH:/Applications/Visual Studio
Code.app/Contents/Resources/app/bin" EOF
I did this and it worked for me.
I am running Visual Studio Code - Insiders 1.23.0 on a Mac/Mac OS 10.10.5 Yosemite. I added the "Shell Command: Install 'code-insiders' command in PATH" from within VSC - Insiders. From the terminal in any directory I just add 'code-insiders .' and it launches in VSC - Insiders without issue.
Hope that helps.
For me, the problem was that Visual Studio Code.app was not in the Applications folder, but rather in the Downloads folder. Moving it there and re-running the add to path command fixed it for me.

Mac Terminal - How to start Android Virtual Device Manager on CLI?

I am currently developing a mobile web application and I don't have a test device yet so I'm using the android-emulator to check the site. On my mac, I have installed the stand-alone Android SDK. Every time I want to use the AVD Manager, I have to execute the following on my terminal:
monitor
This command (being executed on the installed android sdk path) will open the Android Device Monitor and from here, I go to its menu bar and select Window Virtual Device Manager just to open the AVD Manager. So, is there a shortcut for that? I mean, i want to directly open the AVD manager via cli.
I was able to open it from terminal with:
android avd
You may need to navigate to your SDK tools/ first. Here is reference I used:
AVD Manager
Go to tools directory inside your android sdk like:
cd ~/Android/Sdk/tools
and enter run your avd as
./emulator -avd <your-avd>
You can find your avd name by running:
./emulator -list-avds
You can start emulator use terminal shell
emulator -avd <avd_name> [<options>]
options can be special -http-proxy, -dns-server setting. Get more options here
And to list all avd you can use:
emulator -list-avds
result like following:
4.7_WXGA_API_23
Nexus_5X_Edited_API_23
Example when I start Nexus_5X_Edited_API_23 emulator in OS X 10.11 with proxy setting
~/Library/Android/sdk/tools/emulator -netdelay none -netspeed full -avd Nexus_5X_Edited_API_23 -http-proxy http://username:password#local_server:8080
this is just a small addon to previous solutions presented. What is probably handy to do is to just jam this as a alias into your bash_profile like so:
Open your bash_profile:
nano ~/.bash_profile
Add this:
alias avd='cd /path-to-sdk/tools; ./android avd'
Source it again:
source ~/.bash_profile
In the CLI type:
avd
Now you can open up the AVD by just using avd in the command line. The only thing i haven't figured out how to make it stay alive after closing the terminal. Maybe somebody has tips on that.
Use the Android SDK Tools:
avdmanager
Or you can also start it by using the command below but it's deprecated though on newer version. Before executing it, make sure to export your Android SDK's tools directory in your ~/.bash_profile (i.e. export PATH="/Users/user/Software/android-sdk-macosx/tools:$PATH")
android avd
Old answer:
In order to open the avd manager on terminal, execute the following:
/usr/bin/java -Xmx256M -XstartOnFirstThread \
-Dcom.android.sdkmanager.toolsdir=/path/of/android-sdk-macosx/tools \
-classpath /path/of/android-sdk-macosx/tools/lib/sdkmanager.jar:/path/of/android-sdk-macosx/tools/lib/swtmenubar.jar:/path/of/android-sdk-macosx/tools/lib/x86_64/swt.jar \
com.android.sdkmanager.Main avd
emulator -avd <nameOfYourAvdEmulator>
Find the names of your emulators using avdmanager list avd:
avdmanager list avd
Name: Nexus_5X_API_23_Android_6.0
Device: Nexus 5X (Google)
Path: /Users/edward3/.android/avd/Nexus_5X_API_23_Android_6.0.avd
Target: Google APIs (Google Inc.)
Based on: Android 6.0 (Marshmallow) Tag/ABI: google_apis/x86
Skin: nexus_5x
Sdcard: 512M
Add to your ~/.profile if missing:
# Add to your ~/.profile PATH to easily run emulator and avdmanager commands
export ANDROID_HOME=$HOME/Library/Android/sdk
export PATH=$PATH:$ANDROID_HOME/emulator
export PATH=$PATH:$ANDROID_HOME/tools
export PATH=$PATH:$ANDROID_HOME/tools/bin
export PATH=$PATH:$ANDROID_HOME/platform-tools
# Create alias to run your favorite Android emulator
alias avd-run='emulator -avd Nexus_5X_API_23_Android_6.0 &'
Open a new terminal or use source ~/.profile to reload changes made to your ~/.profile
Start your favorite emulator using the alias you created:
avd-run