无法从VSTS代理运行'ng'

问题描述 投票:5回答:1

我正在尝试使用托管的VSTS构建代理对您的Angular CLI项目运行单元测试,但是当它尝试运行'ng test'时它一直遇到麻烦。

为了解决这个问题,我尝试通过提供工具的路径,使代理直接使用ng工具。这没有用,因为它看起来像是在尝试运行'ng test'工具而不是在指定的当前工作目录中:

enter image description here

enter image description here

我还尝试将其添加为Windows中的环境变量(我们使用Windows Server 2012来托管VSTS代理)并将VSTS代理中的工具设置为ng但是它似乎没有找到ng工具:

enter image description here enter image description here

如何让VSTS代理使用ng工具运行测试?我们在托管代理的服务器上安装了@ angular / cli。

build azure-devops angular-cli
1个回答
8
投票

问题是你不会在VSTS上全局安装angular cli,因为它的构建服务器不支持它。但是你甚至不需要在代理上全局安装cli。

所有你需要的是npm run ng build -- prod - 这样它将始终运行本地版本。这样,您根本无需更新全局包。

使用npm run ng test运行测试,npm run ng e2e运行量角器。如果你需要传递任何更多的参数只需使用--


0
投票

正如@Kuncevic所提到的,要在不全局安装的情况下使用Angular CLI,您需要使用npm run命令。

使用Azure Devops运行Angular构建:

  1. 添加npm任务以安装依赖项(为命令选择install
  2. 添加另一个npm任务,但为命令选择custom。然后添加你的command and arguments

run ng -- build --output-path=dist --configuration=prod

请注意npm不是command and arguments的一部分,因为这将由任务提供。还要注意--如何分离要运行的命令和要传递给命令的参数。

© www.soinside.com 2019 - 2024. All rights reserved.