В npm.cmd
файле есть следующие строки:
ECHO %NPM_PREFIX_NPM_CLI_JS%
IF EXIST "%NPM_PREFIX_NPM_CLI_JS%" (
ECHO FILE EXISTS
SET "NPM_CLI_JS=%NPM_PREFIX_NPM_CLI_JS%"
)
"%NODE_EXE%" "%NPM_CLI_JS%" %*
Когда это выполнено ECHO
печатается: C:\Windows\system32\config\systemprofile\AppData\Roaming\npm\node_modules\npm\bin\npm-cli.js
.Я проверил файл - он существует.Когда я запускаю сам пакет как пользователь SYSTEM - он тоже работает.Но когда команда npm
выполняется агентом TeamCity, он думает, что файл npm-cli.js
не существует.
Я проверил право доступа к файлу и папке, и все в порядке.Более того, когда я удаляю IF
и оставляю только SET
командный узел, который можно найти, заканчиваю выполнять файл.
Для тестирования я написал скрипт, который проверяет, существуют ли все папки.Запустите его из теста TeamCity и покажите, что он считает, что папки до C:\Windows\system32\config\systemprofile\AppData\Roaming
существуют, а все после не существует.
Выполнение команды DIR /A
из шага командной строки TeamCity, напечатано:
03/02/2017 10:31 AM <DIR> .
03/02/2017 10:31 AM <DIR> ..
10/26/2015 01:33 PM <DIR> Microsoft
03/02/2017 10:31 AM <DIR> NuGet
0 File(s) 0 bytes
4 Dir(s) 122,662,453,248 bytes free
Хотя в действительности в результате не отображается 3 папки.
В чем может быть причина?