Действовать на ошибки в командах NPM, запускаемых из PowerShell - PullRequest
0 голосов
/ 25 сентября 2018

У меня есть команда NPM, которую я запускаю из PowerShell:

npm install process-migrator -g 
process-migrator 

Эта команда возвращает ошибку, когда она не настроена должным образом, но я не могу найти ее в PowerShell.

[ERROR] [2018-09-25T15:30:30.610Z] Cannot find configuration file 'configuration.json'
[INFORMATION] [2018-09-25T15:30:30.615Z] Generated configuration file as 'configuration.json', please fill in required information and retry.

Есть ли способ получить ошибку?

Я пытался:

if($?) {            
   Write-Host "Process-Migrator completed sucessfully." $LASTEXITCODE           
} else {   
   Write-VstsTaskError "Process-Migrator FAILED " $LASTEXITCODE -ErrCode $LASTEXITCODE
} 
Process-Migrator completed sucessfully. 1

Но $?возвращает true, а $ LASTEXITCODE равен 1.

1 Ответ

0 голосов
/ 25 сентября 2018

Вам нужно будет захватить выходные данные приложения first :

$output = & 'process-migrator.exe' 2>&1
if ($LASTEXITCODE -ne 0)
{
    $err = $output.Where{$PSItem -match 'ERROR'}
    Write-VstsTaskError "Process-Migrator FAILED: $err" -ErrCode $LASTEXITCODE
}

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

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