Как решить "Не удается найти мерзавца в вашей PATH" на Flutter?

Я только что попытался установить Flutter на Linux, и когда я пытаюсь запустить команду flutter (flutter doctor), я получаю

Error: Unable to find git in your PATH.

Кто-нибудь знает, как это решить?

24 ответа

Вот мое решение для 64-битной Windows 11, флаттер 3.7.3, установленное через шоколад. Это просто связано с принудительными настройками безопасности git, которые могут обнаруживать сомнительное право собственности на флаттер-репозиторий. Просто добавьте базовый каталог флаттера в список исключений каталога git:

      git config --global --add safe.directory C:/tools/flutter-base-dir

или измените владельца базового каталога флаттера, исправив небезопасный репозиторий git

Если перечисленные решения вам не подходят, попробуйте это

      git config --global --add safe.directory '*'

Это единственное решение, которое у меня работает github.com/flutter/flutter/issues/123995

Добавлять

C:\Program Files\Git\bin\git.exe;C:\Program Files\Git\cmd;C:\Windows\System32 

к вашей переменной PATH

Не создавайте новую переменную для git, а добавляйте их, как я делал один за другим, разделяя их;

Установите его, используя следующую команду.

sudo apt-get install git

У меня была такая же проблема в Windows 10. Я пробовал все, но запуск cmd от имени администратора решил мою проблему. Это может быть полезно для других.

Просто добавь C:\Windows\System32в системную переменную PATH. оно работает

У меня тоже была такая же проблема, потому что в моей системе не был установлен git. Итак, я загрузил git с https://git-scm.com/downloads и установил его, и сразу после установки он заработал.

Если ничего из вышеперечисленного не помогает, это может быть возможным решением. Обратите внимание: это для Windows.

Мне казалось, что ничего не работает, поэтому я начал откапывать пакетные файлы flutter. Ошибка находится в %FLUTTER_ROOT%\bin\internal\shared.bat. Вот как выглядит эта строка кода:

        REM Check that git exists and get the revision
  SET git_exists=false
  2>NUL (
    PUSHD "%flutter_root%"
    FOR /f %%r IN ('git rev-parse HEAD') DO (
      SET git_exists=true
      SET revision=%%r
    )
    POPD
  )
  REM If git didn't execute we don't have git. Exit without /B to avoid retrying.
  if %git_exists% == false echo Error: Unable to find git in your PATH. && EXIT 1

Эта строка «2>NUL (« сообщает пакетному файлу Windows не отображать внутренние ошибки. Вы можете закомментировать ее следующим образом: (не забудьте закрывающую скобку)

        REM 2>NUL (
    PUSHD "%flutter_root%"
    FOR /f %%r IN ('git rev-parse HEAD') DO (
      SET git_exists=true
      SET revision=%%r
    )
    POPD
  REM )

После сохранения этого и повторного запуска команды flutter я получил эту ошибку: «Неустранимая: не репозиторий Git». Это не имело никакого смысла, поскольку у него был каталог .git и запуск «git rev-parse HEAD» в корне работал нормально.

Причина, по которой это происходит, может заключаться в том, что терминал на самом деле не указывает на текущую папку, а вместо этого указывает на что-то совершенно другое. Для меня это было «C:\Windows». Я разобрался с этой частью, установив git_exists=true, после этого флаттер установился без проблем. Когда я попытался запустить свой проект flutter, я получил ошибку: в моем корне нет файла pubspec.yaml, хотя он и был. Итак, я попытался протестировать это, создав еще один проект флаттера, но затем получил ошибку, что флаттер не может создать проект в «C:\Windows».

Итак, чтобы это исправить, мне пришлось сделать следующее:

  • Перейдите в редактор реестра. Вы можете найти его в поиске Windows или нажав «Клавиша Windows» + R. Введите «regedit», и он откроется.
  • После этого перейдите в «Компьютер\HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor», найдите ключ автозапуска и удалите его.
  • Если ключ автозапуска отсутствует, он может находиться в «HKEY_CURRENT_USER» вместо «HKEY_LOCAL_MACHINE».

Действительно странная ошибка, но из-за нее флаттер иногда просматривал папку, указанную в этом ключе, а не текущую папку.

Удаление и повторная установка GIT решила мою проблему.

после добавления пути: C: \ src \ flutter \ bin C: \ Windows \ System32 C: \ Windows \ System32 \ WindowsPowerShell \ v1.0 C: \ Program Files \ Git \ bin \ git.exe C: \ Program Files \ Git \ cmd попробуйте использовать windows powershell (admin), это работает для меня

Вы можете загрузить 64-битный Git для установки Windows https://git-scm.com/download/win

Установите Git и выполните приведенную ниже команду git config --global --add Safe.directory C:/tools/flutter-base-dir

ДЛЯ WINDOWS: если вы выбрали код Visual Studio во время установки git и имеете несколько учетных записей пользователей в Windows, тогда все, что вам нужно сделать, это удалить git и переустановить git, выбрав vim в качестве редактора по умолчанию, а не код Visual Studio. Вы также получаете предупреждение при выборе кода Visual Studio во время установки git. Обратите на это внимание. Для меня проблемой была установка кода Visual Studio по умолчанию и наличие нескольких учетных записей пользователей.

Я попробовал еще несколько шагов, но не получилось, но наконец добился успеха. Вам нужно перейти к «переменным среды» , затем в «Системных переменных» создать новое имя переменной «git» и установить значение переменной «C:\Program Files\Git\bin» . Тогда хорошо. Закройте vscode или весь cmd-файл. Затем снова откройте и попробуйте Flutter Doctor, у вас обязательно получится.

У меня все было настроено правильно, но я все еще сталкивался с ошибкой. Мне нужно было только снова открыть Android Studio в качестве администратора. Надеюсь, это сработает для всех.

в Windows 10C:\src\flutter\binC:\Windows\System32C:\Windows\System32\WindowsPowerShell\v1.0C:\Program Files\Git\bin\git.exeC:\Program Files\Git\cmd

Я попробовал другое исправление, которое изменило flutter.bat, но оно мне не помогло. Найдите свой общий.bat и вручную установите для git_exists значение true.

C:\tools\flutter\bin\internal\shared.bat

      SET git_exists=true
2>NUL (
  PUSHD "%flutter_root%"
  FOR /f %%r IN ('git rev-parse HEAD') DO (
    SET git_exists=true
    SET revision=%%r
  )
  POPD
)

Вы можете установить для переменной значение true или добавить SET git_exists=true после блока.

Перепробовав все, и ничего не помогло, я снова открываю Android Studio от имени администратора, и все сработало...

Я надеюсь, что это сработает для всех

Попробуйте запустить, напримерв каталоге flutter и проверьте, нет ли ошибок при загрузке репозитория flutter.

В моем случае это была ошибка в глобальной конфигурации git. После исправления все работает нормально и я могу бегать.

[ПРЕДПОЛАГАЯ, что GIT УСТАНОВЛЕН ПРАВИЛЬНО] Я задокументировал ошибку на странице " https://github.com/flutter/flutter/issues/39785 ", это простое изменение командного файла.

если это все еще не сработало даже после применения вышеуказанных переменных среды, просто запустите Android Studio от имени администратора.

Попробуйте установить git отсюда в соответствии с вашим дистрибутивом Linux https://git-scm.com/download/linux

просто сделайте свой путь таким, он работает

C:\Windows\System32;C:\Users\HP\flutter\bin

C:\ SRC \flutter\bin;C:\Windows\System32

просто добавь этот путь поверь мне

Другие вопросы по тегам