Не найден исполняемый файл, соответствующий команде "dotnet-script" - PullRequest
0 голосов
/ 03 декабря 2018

Почему dotnet script не запускается в PowerShell после установки?Я закрыл и снова открыл все экземпляры PowerShell после установки.

PowerShell выдает эту ошибку при запуске dotnet script init:

Не найден исполняемый файл, соответствующий команде "dotnet-script"

Редактировать:

  • dotnet script работает в cmd.exe
  • Папки dotnet и .dotnet\tools присутствуют в PATH

Ответы [ 3 ]

0 голосов
/ 03 декабря 2018

Я решил:

  1. Удаление старых записей PATH в случае, если PATH слишком велик ( source )
  2. Перезагрузка компьютера , поскольку PowerShell $env:PATH не обновлялся даже после закрытия / повторного открытия всех экземпляров PowerShell ( source )
0 голосов
/ 04 декабря 2018

Хотя я уверен, что помогло ваше собственное решение , стоит покопаться глубже:

Папки dotnet и .dotnet\tools присутствуют в PATH

Чтобы получить ваш симптом, первое должно быть истинным, но не второе:

Это dotnet.exe, которое выдает сообщение об ошибке (подразумевая, что dotnet.exe действительно действительно в ПУТИ).

Сообщение об ошибке указывает, что инструмент с именем script не может быть найден, подразумевая, что исполняемый файл с именем dotnet-script.exe не может быть найден в ПУТИ, потому что это исполняемый файлимя, которое dotnet создает за кулисами, когда вы вызываете dotnet script.

с правильно настроенной переменной PATH (и, конечно, dotnet-script установлен), dotnet-script.exe долженбыть найденным через каталог $HOME\.dotnet\tools в PATH.

$HOME\.dotnet\tools - это запись, хранящаяся как часть пользовательских PATH-дополнений в реестре, и ваш сеанс PowerShell, по-видимому, не подобрал эту записьпока - что может случиться по причинам, указанным вваш ответ.

0 голосов
/ 03 декабря 2018

Скорее всего, папка, содержащая dotnet, отсутствует в переменной среды PATH.Добавьте его к этой переменной.

Также обратите внимание, что dotnet будет устанавливаться в двух местоположениях, если вы установите обе версии x86 и x64, и выберет только одну, если оба окажутся в PATH.Это может привести к очень странным результатам при обновлении!

...