我正在尝试使用MsBuilds构建我的角度解决方案。
以下是我的代码段
> <Exec Command="npm install" WorkingDirectory="$(SolutionRoot)\Dev\AngularUI" />
> <Exec Command="npm install -g @angular/cli" WorkingDirectory="$(SolutionRoot)\Dev\AngularUI" />
> <Exec Command="ng build --prod" WorkingDirectory="$(SolutionRoot)\Dev\AngularUI" />
虽然npm i
命令工作正常,但我在'ng' is not recognized as an internal or external command
命令上收到错误ng build --prod
。
我尝试从cmd运行相同的命令,它也可以在同一个构建帐户中正常工作。
答案 0 :(得分:0)
试试npm run ng build
。唯一的问题是它在构建后省略了--prod
或--test
之类的任何其他参数。
以下是我用来从Jenkins成功运行我的角度构建的命令。通过设置路径变量以脏的方式进行操作。不知道是否有更清洁的方法来做到这一点。这确实可以正确执行命令而不会遗漏任何内容。
set PATH=%PATH%;C:\Users\Administrator\AppData\Roaming\npm;C:\Users\Administrator\AppData\Roaming\npm\node_modules\@angular\cli\bin;
@echo on
cmd /c npm install -g @angular/cli@latest
echo yarn Install
cmd /c yarn
echo Build
ng build --prod --aot=true
也可以删除cmd /c
,但仍可以使用。在发生错误的情况下使用它来正确处理内容。