MsBuild:' ng'不被视为内部或外部命令

时间:2018-02-28 13:03:22

标签: angularjs node.js msbuild npm-install ng-build

我正在尝试使用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运行相同的命令,它也可以在同一个构建帐户中正常工作。

1 个答案:

答案 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,但仍可以使用。在发生错误的情况下使用它来正确处理内容。