我正在尝试使用Windows Server上的TeamCity(2017.2.3)构建一个angular-cli应用程序,该应用程序配置了两个构建代理(也在Windows Server上运行)。两个构建代理都在专用服务帐户下运行。
我以自己的身份登录了两个构建代理,打开了一个提升的命令提示符,并使用npm install -g @angular/cli
安装了angular-cli,然后重新启动了每个代理。重新登录,我可以成功运行ng --version。
但是,当构建代理运行构建(包括在构建过程中调用ng build
)时,构建将失败并显示错误'ng' is not recognized as an internal or external command, operable program or batch file.
,如果我检查文件夹{{1} },没有C:\Users\<service_account>\AppData\Roaming\npm
的引用,而ng
包含C:\Users\<david.keaveny>\AppData\Roaming\npm
可执行文件。
那么如何安装angular-cli以便我的服务帐户可以访问它?
答案 0 :(得分:1)
您已自行安装,但您的代理正在作为服务帐户运行。
他们无法访问彼此的env变量,您可以使用服务帐户安装它,或者在构建作业开始时,使用ng的位置更新路径变量。例如步骤1,脚本路径=%path%; ng的位置
答案 1 :(得分:0)
这是命令如何在Windows中找到可执行文件路径
where.exe ng
<强>输出:强>
C:\Users\*[UserName]*\AppData\Local\Yarn\bin\ng
C:\Users\*[UserName]*\AppData\Local\Yarn\bin\ng.cmd