首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >角CLI VSO连续积分

角CLI VSO连续积分
EN

Stack Overflow用户
提问于 2017-01-12 14:35:17
回答 3查看 2.7K关注 0票数 4

我在过去为Angular2项目设置了CI,这些项目使用npm命令,但是我最近开始使用Angular2,它使用的是'ng‘命令。

当我试图在中为我的项目设置CI时,我找不到执行'ng‘命令的方法。

我试着运行NPM命令(使用目录中的npm任务)来安装CLI;npm安装-g角-cli,然后运行。现在,要运行“ng build”,我尝试使用命令行工具(因为似乎没有一个允许我运行ng命令的工具),但是这不能说明ng不是公认的命令。

对使用VSO建立角-CLI项目的CI有何建议?

谢谢

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-01-14 19:15:47

如果您希望您的构建定义在任何构建代理上运行(托管的构建代理和任何前提代理),您可以依赖在本地安装带有npm的角-cli,不带 -g标志:

代码语言:javascript
复制
>npm install angular-cli

默认情况下,npm将在.\node_modules\.bin\下安装“ng”

您的构建定义可以使用“'npm安装”任务在本地安装'ng',然后您可以通过“指挥线”任务调用它,因为您知道它的路径(例如$(Build.SourcesDirectory)\node_modules\.bin)。

生成定义创建新项目并使用“ng”构建项目的示例

  • 在本地安装'ng‘cli工具:

  • 创建项目“helloworldproject”:

  • 建立项目“helloworldproject”:

==Update (用“npm”以编程方式检索实际二进制路径)==

要删除放置二进制文件并具有更强弹性的构建定义的假设,可以使用以下命令以编程方式检索npm使用的实际二进制路径:

代码语言:javascript
复制
>npm bin

下面的示例(这次是一个简短的PowerShell脚本)展示了如何创建“helloworldproject”并随后构建它:

请记住:

  • 禁用PowerShell任务上的选项“”,因为ng工具喜欢在那里编写东西,即使它成功了。
  • 当然,在使用'ng‘工具之前,您仍然需要“”任务,如上面所示。
票数 12
EN

Stack Overflow用户

发布于 2017-01-13 02:42:41

我现在正在经历同样的事情,所以感受到你的痛苦。您可能必须创建自己的构建服务器,无论是在蔚蓝上还是在前提下作为VM。造成这种情况的原因是,角-cli目前并不是宿主构建服务器的功能之一。

当你创建你自己的,你仍然会遇到一些障碍。当您全局安装角-cli时,它仍然将它放在安装它的用户的AppData文件夹下。如果您已经将代理设置为以不同用户的身份运行(例如,NetworkService ),那么该服务帐户的"ng“将不会出现在路径中。它也可能没有运行它的权限,因为角-cli已经安装在用户的文件夹下,它将没有权限。

好的,那么您使用同一个用户运行代理,或者解决权限和路径问题,您可能仍然会遇到问题。如果您使用powershell脚本任务作为您的构建任务之一来执行"ng build“,那么您将遇到我在这里强调的问题:

https://github.com/angular/angular-cli/issues/3979

因此,看起来我们可能不得不求助于命令行构建任务。希望这能有所帮助。在过去的两天里,我花在这件事上,也许还能帮助别人。

票数 2
EN

Stack Overflow用户

发布于 2017-01-13 08:18:12

对于Angular2-CLI命令行,它使用ng2而不是ng。(角-CLI使用ng),因此您的命令不正确。

请参阅以下步骤来验证ng2命令(工作在托管代理上):

  1. 添加NPM构建步骤(npm命令: install;参数: angular2-cli -g)
  2. 添加命令行步骤(工具: ng2;参数:--版本)

如果您在网络服务中使用,请使用以下步骤:

  1. NPM构建步骤(npm命令: install;参数: angular2-cli -g)
  2. 命令行步骤(工具: C:\Windows\ServiceProfiles\NetworkService\AppData\Roaming\npm\ng2.cmd;Argumetns:-版本)

在使用用户帐户的前提下,您可以登录该计算机并安装Angular2-CLI命令行(在构建过程中不需要安装它)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41615804

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档