Kaip išspręsti „Flutter Command Not Found“ klaidą macOS sistemoje
Jei terminale matote pranešimą zsh: command not found: flutter, tai reiškia, kad macOS sistema praneša, jog esama aplinka (shell) negali rasti programos, pavadinimu flutter, kataloguose, nurodytuose jos PATH kintamajame. PATH yra aplinkos kintamasis: aplankų sąrašas, kuriuos aplinka ieško, kai įvedate komandą. Sprendimas dažniausiai yra paprastas, tačiau prieš redaguojant bet kokius failus verta patikrinti diegimo vietą.
Pradedančiajam tikslas yra ne tik priversti vieną terminalo langą vieną kartą atpažinti Flutter. Geras rezultatas yra toks, kad naujai atidarytame terminalo lange galima paleisti komandas flutter --version, dart --version ir flutter doctor -v be pranešimo „command not found“. Taip pat IDE turėtų atpažinti Flutter po paleidimo iš naujo.
2026 m. rugsėjo mėn. duomenimis, oficialioje Flutter diegimo dokumentacijoje pateikiama Flutter 3.47.2 dokumentų rinkinio informacija. macOS PATH instrukcijos vis dar remiasi „Apple“ numatytąja aplinka Zsh ir nurodo vartotojams pridėti Flutter SDK bin katalogą į failą ~/.zprofile. Žr. oficialias Flutter PATH instrukcijas. „Apple“ taip pat patvirtina, kad Zsh yra numatytoji aplinka terminale dabartinėse macOS versijose: „Apple“ terminalo aplinkos dokumentacija.
Prieš keisdami PATH: ko jums reikia?
Jums reikia dviejų dalykų: Flutter SDK, kuris iš tikrųjų egzistuoja diske, ir tikslios jo bin aplanko vietos. SDK (programinės įrangos kūrimo rinkinys) yra Flutter komandinės eilutės įrankių, bibliotekų ir palaikomųjų failų rinkinys. Jame esančiame bin aplanke yra vykdomoji komanda, kurią terminalui reikia rasti.
Jei dar neįdiegėte Flutter, neegzistuojančio aplanko pridėjimas į PATH nepadės. Pirmiausia vadovaukitės oficialiu Flutter rankinio diegimo vadovu arba oficialiu VS Code diegimo būdu. Dabartinės Flutter macOS instrukcijos siūlo naudoti vartotojo rašymui tinkamą vietą, pvz., ~/develop/, rankiniu būdu išskleistam SDK.
1 žingsnis: Patvirtinkite klaidą ir suraskite Flutter SDK
Atidarykite terminalą ir paleiskite:
flutter --version
Jei matote pranešimą, pvz., zsh: command not found: flutter, patikrinkite, kurią aplinką naudojate:
echo $SHELL
Tipiškame dabartiniame „Mac“ rezultatas yra /bin/zsh. Jei naudojate Bash, Fish ar kitą aplinką, neaklai redaguokite Zsh failus; paleidimo failas priklauso nuo konkrečios aplinkos.
Dirbtiniu intelektu sugeneruota iliustracija: terminalas praneša, kad Zsh negali rasti Flutter komandos. Tai iliustracija, o ne užfiksuotas testo rezultatas.
Toliau suraskite savo Flutter SDK. Jei vadovavotės rankinio diegimo pavyzdžiu, patikrinkite:
ls "$HOME/develop/flutter/bin/flutter"
Jei ši komanda atspausdina failo kelią, SDK egzistuoja ir tikėtina problema yra PATH. Jei nurodoma, kad failas neegzistuoja, nesinaudokite pavyzdiniu keliu. Pirmiausia suraskite tikrąjį Flutter aplanką. Galite naudoti „Finder“ arba ieškoti tikėtinuose kataloguose, kuriuos pasirinkote išskleisdami SDK.
Flutter trikčių šalinimo dokumentacijoje taip pat nurodoma, kad jei VS Code jau buvo sukonfigūruotas Flutter, Flutter plėtinys gali naudoti savo Locate SDK užklausą, kad nustatytų SDK aplanką. Žr. Flutter diegimo trikčių šalinimą.
Dirbtiniu intelektu sugeneruota iliustracija: pavyzdinis Flutter SDK aplankas vartotojo kūrimo kataloge. Jūsų tikrasis aplanko pavadinimas ir vieta gali skirtis.
2 žingsnis: Pridėkite Flutter bin aplanką į PATH
Numatytajai Zsh sąrankai, dokumentuotai Flutter macOS sistemoje, atidarykite arba sukurkite failą ~/.zprofile. Pradinis taškas reiškia, kad tai paslėptas konfigūracinis failas jūsų namų kataloge.
Jį galite redaguoti bet kuriuo teksto redaktoriumi. Iš terminalo paprastas variantas yra:
nano ~/.zprofile
Pridėkite šią eilutę, pakeisdami kelią, jei jūsų SDK yra kitoje vietoje:
export PATH="$HOME/develop/flutter/bin:$PATH"
Tai reiškia: į esamo PATH pradžią įdėkite Flutter bin katalogą, o tada palikite visus jau buvusius katalogus. Flutter įdėjimas į priekį yra naudingas, jei kitas pasenusios Flutter diegties kopija atsiranda kitur PATH kintamajame.
Išsaugokite failą. Nano redaktoriuje paspauskite Control+O, paspauskite Enter, kad patvirtintumėte failo pavadinimą, o tada Control+X, kad išeitumėte.
Dirbtiniu intelektu sugeneruota Flutter PATH įrašo iliustracija. Vykdykite tikslią straipsnyje parodytą ~/.zprofile komandą; pavaizduotas redaktorius yra iliustracinis, o ne tikras ekrano nuotrauka.
Kodėl automatiškai nenaudoti .zshrc?
Galite pamatyti senesnes pamokas, kuriose siūloma redaguoti ~/.zshrc. Šis failas gali veikti interaktyviai Zsh konfigūracijai, tačiau dabartinis Flutter macOS diegimo puslapis konkrečiai nurodo vartotojams PATH įrašą dėti į ~/.zprofile. Naujam diegimui sekant dabartinį oficialų kelią išvengiama kelių paleidimo failų konvencijų maišymo.
„Apple“ paaiškina svarbią priežastį, kodėl nuolatinė konfigūracija yra svarbi: aplinkos kintamieji, nustatyti vienoje aplinkos sesijoje, automatiškai neatsiranda kitose nepriklausomose terminalo sesijose, o laikinieji kintamieji išnyksta uždarant tą sesiją. Nuolatinės reikšmės turi būti paleidimo failuose. Žr. „Apple“ aplinkos kintamųjų vadovą.
3 žingsnis: Perkraukite terminalą ir patikrinkite komandą
Flutter macOS instrukcijos nurodo uždaryti ir iš naujo atidaryti visas atidarytas Zsh sesijas terminalo programose ir IDE po PATH pakeitimo. Tai lengva praleisti. Jau atidarytas terminalo langas gali vis dar naudoti seną aplinką.
Išjunkite ir iš naujo atidarykite terminalą, tada paleiskite:
Komanda command -v flutter turėtų atspausdinti kelią iki Flutter vykdomojo failo, pvz.:
/Users/yourname/develop/flutter/bin/flutter
Versionų komandos dabar turėtų grąžinti versijos informaciją, o ne „command not found“. Nesijaudinkite, jei jūsų tikslios versijos numeriai skiriasi nuo pavyzdžių, kuriuos matote internete; Flutter versijos laikui bėgant keičiasi.
Dirbtiniu intelektu sugeneruota iliustracija: pakartotinai paleiskite flutter --version naujai atidarytame terminale, kad patvirtintumėte, jog komanda dabar yra randama.
Jei Flutter veikia terminale, bet vis tiek nematomas VS Code ar kitoje IDE, visiškai uždarykite ir iš naujo atidarykite tą IDE. Oficialiame Flutter PATH puslapyje aiškiai nurodoma, kad IDE sesijos taip pat turi būti paleistos iš naujo po aplinkos pakeitimų.
4 žingsnis: Paleiskite Flutter Doctor ir atskirkite PATH problemas nuo įrankių grandinės problemų
Kai pati flutter komanda veikia, PATH klaida yra išspręsta. Kita komanda yra:
flutter doctor -v
flutter doctor patikrina likusią jūsų kūrimo aplinkos dalį. macOS darbalaukio arba iOS darbams ji gali identifikuoti su Xcode ir kitais įrankiais susijusias problemas. Oficialiame Flutter macOS sąrankos vadove rekomenduojama paleisti flutter doctor -v ir išspręsti visas praneštas užduotis prieš paleidžiant jį dar kartą. Žr. Flutter macOS kūrimo sąrankos vadovą.
Šis skirtumas yra svarbus: jei flutter doctor veikia ir praneša apie Xcode problemą, jūs nebeturite „Flutter command not found“ problemos. Pakartotinis PATH keitimas neišspręs trūkstamos Xcode licencijos, komandinės eilutės įrankių konfigūracijos, simuliacijos problemos ar kitos įrankių grandinės priklausomybės.
Jei vis tiek rodoma „Flutter: Command Not Found“
Ką matote
Ką tai paprastai reiškia
Ką tikrinti toliau
~/develop/flutter/bin/flutter neegzistuoja
Pavyzdinis kelias jūsų „Mac“ neteisingas arba SDK nebuvo įdiegtas/išskleistas ten.
Prieš redaguodami PATH, suraskite tikrąjį SDK.
Vykdomasis failas egzistuoja, bet command -v flutter nieko negrąžina
Flutter bin katalogas nėra PATH, kurį įkėlė ši aplinka.
Patikrinkite tikslią eilutę ~/.zprofile, tada iš naujo atidarykite terminalą.
Flutter veikia viename terminalo lange, bet ne kitame
Sesijos buvo paleistos su skirtingomis aplinkomis arba aplinkos konfigūracijomis.
Uždarykite visus terminalo langus ir pradėkite naują sesiją; patikrinkite echo $SHELL.
Flutter veikia terminale, bet ne IDE terminale
IDE gali vis dar turėti seną aplinką.
Visiškai uždarykite IDE ir iš naujo jį atidarykite.
flutter doctor -v veikia, bet praneša apie kitas klaidas
PATH jau sutvarkytas; kitai Flutter priklausomybei reikia dėmesio.
Vadovaukitės konkrečiu doctor išvesties pranešimu vietoj pakartotinio PATH keitimo.
Dažnos pradedančiųjų klaidos, kurių reikia vengti
SDK šakninio katalogo pridėjimas vietoj jo bin aplanko. PATH turėtų turėti kažką panašaus į .../flutter/bin, o ne tik .../flutter.
Kito žmogaus kelio kopijavimas žodis į žodį./Users/alex/develop/flutter neegzistuos „Mac“ kompiuteryje, kurio paskyra ir diegimo katalogas yra kitokie.
PATH perrašymas. Naudokite :$PATH, kad išlaikytumėte esamus sistemos komandų katalogus.
Kelių paleidimo failų redagavimas vienu metu. Tai gali sukurti dubliuotus PATH įrašus ir apsunkinti vėlesnį trikčių šalinimą. Pradėkite nuo failo, nurodyto dabartinėse Flutter macOS instrukcijose.
Tikrinimas tik sename terminalo skirtuke. Po nuolatinės aplinkos redagavimo iš naujo atidarykite terminalo ir IDE sesijas.
Prielaida, kad kiekviena vėlesnė Flutter klaida vis dar yra PATH problema. Jei flutter --version veikia, pereikite prie flutter doctor -v.
O kas dėl Intel „Mac“?
Dabartinė Flutter dokumentacija įspėja, kad palaikymas Intel pagrįstiems „Mac“ kompiuteriams (x64) yra palaipsniui nutraukiamas, o Apple Silicon lieka perspektyviausia „Mac“ architektūra. Šis gyvavimo ciklo pokytis paprastai nepaaiškina pagrindinio zsh: command not found: flutter pranešimo, kai įdiegtas vykdomasis failas tiesiog nėra PATH. Jei naudojate Intel „Mac“ ir susiduriate su suderinamumo problemomis po PATH sutvarkymo, prieš pasirinkdami Flutter versiją patikrinkite dabartinį Flutter palaikomų platformų puslapį ir SDK archyvą.
Kaip žinoti, kad pataisymas yra baigtas?
Turite patikimą sąranką, kai visiškai naujas terminalo langas gali rasti Flutter be rankinių komandų, flutter --version ir dart --version sėkmingai veikia, jūsų IDE atpažįsta SDK po paleidimo iš naujo, o flutter doctor -v veikia pakankamai toli, kad praneštų apie tikrąją jūsų kūrimo įrankių grandinės būseną.
Jei šie patikrinimai praeina, nustokite keisti PATH. Bet kokius likusius įspėjimus reikia spręsti kaip atskiras sąrankos problemas. Tai palaiko nuspėjamą trikčių šalinimo procesą ir neleidžia veikiančiai aplinkos konfigūracijai tapti nereikalingai sudėtingai.