Usando o npm install como uma conta do sistema MS-Windows

4

Eu tenho um aplicativo de nó em execução no Windows, que eu quero ser capaz de atualizar automaticamente. Quando executo npm install -d como a conta Administrator - funciona bem, mas quando tento executá-lo através do meu software de automação (que está sendo executado como local system ), recebo erros quando tento instalar um módulo privado de um repositório git privado:

    npm ERR! git clone [email protected]:team/repository.git fatal: Could not change back to 'C:/Windows/system32/config/systemprofile/AppData/Roaming/npm-cache/_git-remotes/git-bitbucket-org-team-repository-git-06356f5b': No such file or directory
    npm ERR! Error: Command failed: fatal: Could not change back to 'C:/Windows/system32/config/systemprofile/AppData/Roaming/npm-cache/_git-remotes/git-bitbucket-org-team-repository-git-06356f5b': No such file or directory
    npm ERR! 
    npm ERR!     at ChildProcess.exithandler (child_process.js:637:15)
    npm ERR!     at ChildProcess.EventEmitter.emit (events.js:98:17)
    npm ERR!     at maybeClose (child_process.js:735:16)
    npm ERR!     at Socket.<anonymous> (child_process.js:948:11)
    npm ERR!     at Socket.EventEmitter.emit (events.js:95:17)
    npm ERR!     at Pipe.close (net.js:451:12)
    npm ERR! If you need help, you may report this log at:
    npm ERR!     <http://github.com/isaacs/npm/issues>
    npm ERR! or email it to:
    npm ERR!     <[email protected]>

    npm ERR! System Windows_NT 6.1.7601
    npm ERR! command "C:\Program Files\nodejs\\node.exe" "C:\Program Files\nodejs\node_modules\npm\bin\npm-cli.js" "install" "-d"
    npm ERR! cwd D:\nodeapp
    npm ERR! node -v v0.10.8
    npm ERR! npm -v 1.2.23
    npm ERR! code 128

Apenas executando o git clone usando o mesmo sistema funciona bem. Alguma idéia?

Atualização: aqui estão as permissões no diretório _git_remotes :

> get-acl C:\Windows\system32\config\systemprofile\AppData\Roaming\npm-cache\_git-remotes |Format-list

Path   : Microsoft.PowerShell.Core\FileSystem::C:\Windows\system32\config\systemprofile\AppData\Roaming\npm-cache\_git-remotes
Owner  : BUILTIN\Administrators
Group  : NT AUTHORITY\SYSTEM
Access : NT AUTHORITY\SYSTEM Allow  FullControl
         BUILTIN\Administrators Allow  FullControl
Audit  :
Sddl   : O:BAG:SYD:AI(A;OICIID;FA;;;SY)(A;OICIID;FA;;;BA)
    
por Guss 01.06.2014 / 11:26

1 resposta

1

Não execute o software de automação como local system . Em vez disso, crie uma nova conta de serviço dedicada (nível administrativo, se necessário). Você também pode fazer com que essa conta só faça logon a partir desse sistema e não remotamente. Eu tentaria executar o software como não-administrador primeiro.

    
por 01.06.2014 / 14:58