Скрипт доктора Flutter выдает ошибки, а затем вылетает - PullRequest
0 голосов
/ 25 ноября 2018

Когда я запускаю flutter doctor -v, я получаю пару необработанных ошибок, а затем происходит сбой.

Вывод ниже:

C:\Users\philb>flutter doctor -v
'git rev-parse HEAD' is not recognized as an internal or external command,
operable program or batch file.
Building flutter tool...
Running pub upgrade...
'dir /a:l "c:\Users\philb\flutter\bin\cache\dart-sdk\" 2>nul   | find ">     bin [" 2>nul' is not recognized as an internal or external command,
operable program or batch file.
[√] Flutter (Channel beta, v0.11.9, on Microsoft Windows [Version 10.0.17134.407], locale en-GB)
    • Flutter version 0.11.9 at c:\Users\philb\flutter
    • Framework revision d48e6e433c (5 days ago), 2018-11-20 22:05:23 -0500
    • Engine revision 5c8147450d
    • Dart version 2.1.0 (build 2.1.0-dev.9.4 f9ebf21297)

|CreateProcessW failed 2
Oops; flutter has exited unexpectedly.
Sending crash report to Google.
Crash report sent (report ID: 7c60cb5645c44cdd)
\CreateProcessW failed 2                                                                                               Crash report written to C:\Users\philb\flutter_02.log;
please let us know at https://github.com/flutter/flutter/issues.

Здесь PATH и PATHEXT переменные среды:

Path=C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\Users\philb\.dnx\bin;C:\Program Files\Microsoft DNX\Dnvm\;C:\Program Files\Microsoft SQL Server\130\Tools\Binn\;C:\Program Files (x86)\Microsoft Emulator Manager\1.0\;C:\Program Files (x86)\Windows Kits\10\Windows Performance Toolkit\;C:\Program Files\MATLAB\R2016b\bin;C:\WINDOWS\System32\OpenSSH\;C:\Program Files\Dart\dart-sdk\bin;C:\Program Files\Git\cmd;C:\Program Files (x86)\Microsoft VS Code\bin;C:\Users\philb\AppData\Local\Microsoft\WindowsApps;c:\users\philb\flutter\bin

PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC

Окно CMD может найти git

C:\Users\philb>where git
C:\Program Files\Git\cmd\git.exe

Просто для S & G я поставил некоторую отладку в flutter.bat и PATH и PATHEXT в порядке, перед тем как он вызовет git.Единственное, что сделано с PATH, - это то, что скрипт flutter.bat добавляет местоположение другой версии "git" (mingit) к PATH, но это не имеет значения.Даже если он использует эту версию, такая же ошибка.Сценарий вызывает git через for /f loop /

Код сценария в flutter.bat выглядит следующим образом:

PUSHD "%flutter_root%"

  FOR /f %%r IN ('git rev-parse HEAD') DO SET revision=%%r

POPD

Я проверил и flutter_root = /users/phil/flutter/bin

Я заметил, что каталог флаттера читается только после распаковки.Но, насколько я знаю, у меня "все под контролем".Я пытался изменить это, но после сложного сеанса в качестве локального администратора мне не удалось очистить флаг только для чтения, но я не был уверен, является ли это красной сельдью!Я могу попробовать еще раз, если у кого-то есть мысли о том, что случилось!

1 Ответ

0 голосов
/ 26 ноября 2018

Я нашел проблему.Я установил последнюю версию JAVA , и она, похоже, перезаписала ComSpec, указывая на их версию cmd.exe.Плохой ход, так как я думаю, что это то, что инструмент CMD использует для запуска дочернего CMDВернулся к версии system32 и все заработало.

Исправление:

  • Открыть Панель управления - Система - Дополнительносистемные настройки и нажмите на кнопку Переменные среды .
  • Если для переменной среды ComSpec задано значение, отличное от %SystemRoot%\system32\cmd.exe, которое обычно расширяется до C:\Windows\system32\cmd.exe, затем сбросьте его наПо умолчанию Windows %SystemRoot%\system32\cmd.exe.

У меня было установлено значение %JAVA_HOME%\bin\jcmd.exe.Спасибо Оракул !!!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...