У меня есть приложение узла, работающее в 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
. Вместо этого создайте новую выделенную учетную запись службы (при необходимости на уровне администратора). Вы также можете сделать так, чтобы эта учетная запись могла входить в систему только из этой системы, а не удаленно. Я бы сначала попробовал запустить программу как не админ.