Назад | Перейти на главную страницу

Использование npm install в качестве системной учетной записи MS-Windows

У меня есть приложение узла, работающее в Windows, и я хочу иметь возможность обновлять его автоматически. Когда я бегу npm install -d как Administrator аккаунт - он работает нормально, но когда я пытаюсь запустить его через свою программу автоматизации (которая работает как local system), Я получаю ошибки, когда пытаюсь установить частный модуль из частного репозитория git:

    npm ERR! git clone git@bitbucket.org: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!     <npm-@googlegroups.com>

    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

Просто запуск git clone с использованием той же системы работает нормально. Любые идеи?

Обновление: вот разрешения на _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)

Не запускайте программное обеспечение для автоматизации как local system. Вместо этого создайте новую выделенную учетную запись службы (при необходимости на уровне администратора). Вы также можете сделать так, чтобы эта учетная запись могла входить в систему только из этой системы, а не удаленно. Я бы сначала попробовал запустить программу как не админ.