我已经在我们的 TFS 构建服务器上安装了 npm 和 grunt。我使用npm install -g grunt-cli 安装了 grunt-cli ,然后以我自己的身份登录时能够从命令行运行grunt deploy 。
不过, Out TFS 构建以tfsservice用户身份运行,当它尝试执行grunt deploy时,它会收到一条错误消息:
'grunt' is not recognized as an internal or external command, operable program or batch file.
因此,当我在构建服务器上以我自己的身份登录时,如果我以tfsservice 身份运行命令提示符,我会得到同样的错误。所以我尝试从该命令提示符执行npm install -g grunt-cli,它看起来已经正确安装并在 C:\Users\tfsservice\AppData\Roaming\npm 中创建了 grunt 文件,但是我仍然得到同样的错误运行grunt deploy时。
所以看起来 grunt-cli 没有为tfsservice安装?当我得到 tfsservice %homepath% 时,我看到它设置为\Windows\system32,而不是预期的\Users\tfsservice;也许它是一个服务帐户与它有关?
我看到有人询问了将 grunt-cli 与 Team City 一起使用的类似问题,但它建议使用特定于 Team City 的插件。
还有这篇文章说他们改变了 Team City 作为不同的用户运行,然后一切都开始正常工作。不过,将我们的构建更改为以与tfsservice不同的用户身份运行对我来说并不是一个真正的选择。
任何建议表示赞赏。谢谢。