Разрешить конфликт между двумя командами с одинаковым именем - PullRequest
1 голос
/ 07 октября 2019

Я запускаю PowerShell в Windows 10 и параллельно использую mingw и WinAVR.

Я хочу использовать оба make, предоставляемые mingw и WinAVR. (По какой-то причине использование mingw make вызывает проблемы при работе с кодом Arduino.)

Но я не могу добавить к путям C:\WinAVR-20100110\utils (содержит make WinAVR) и C:\Program Files\mingw-w64\x86_64-8.1.0-posix-seh-rt_v6-rev0\mingw64\bin, потому что у них есть исполняемые файлы с одинаковымиname.

Могу ли я сделать что-то подобное, добавив перед каждой командой WinAVR команду avr (make до avr-make)? Или есть еще одна прогулка?

1 Ответ

1 голос
/ 07 октября 2019

Вы можете:

  • добавить каталог одного исполняемого файла, который вы хотите вызвать как make, к своему $env:Path (первому) - C:\Program Files\mingw-w64\x86_64-8.1.0-posix-seh-rt_v6-rev0\mingw64\bin

  • определите другой как псевдоним , добавив в файл $PROFILE следующее:

Set-Alias avr-make C:\WinAVR-20100110\utils\make.exe

Обратите внимание, что псевдоним имеет более высокий приоритет, чем исполняемые файлы.

См. about_Aliases и about_Command_Precedence .


Если вы хотите определить такие псевдонимы для всех исполняемых файлов в данном каталоге , использовать следующий подход:

Get-Item C:\WinAVR-20100110\utils\*.exe | ForEach-Object {
  Set-Alias ('avr-' + $_.BaseName) $_.FullName
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...