如何在作为服务运行的 tfs 代理中运行 npm 模块?
这是我的设置。
我在本地计算机上设置代理,并在本地运行 TFS 2017。
我尝试在作为服务运行的代理上构建 aurelia 应用程序。
我已经在运行代理的机器上安装了 node、aurelia cli 和 npm。使用命令 au build
(aurelia cli build)手动运行 cmd 来全局访问它。但是,当我创建运行 au
(工具)和 build
(参数)的命令行构建步骤时,代理找不到 au。
我认为它也找不到其他 npm 模块。
最佳答案
一般情况下,构建代理(作为服务运行)使用 Network Service 帐户,并且安装的 npm 包位于当前用户文件夹中,因此您可以直接调用 au 命令,但在构建过程中无法调用 au 命令。
您可以更改构建代理服务帐户以使用您的帐户,或者如果您仍然使用网络服务帐户,请引用以下步骤安装 Aurelia-cli 软件包并在命令行步骤中调用 au 命令:
- 添加命令行步骤来构建定义(工具:npm;参数:install Aurelia-cli -g)
- 添加命令行步骤(工具:C:\Windows\ServiceProfiles\NetworkService\AppData\Roaming\npm\au;参数:build;工作文件夹:[项目文件夹](例如 $(Build.SourcesDirectory))
注意:步骤 1 只需运行一次,您可以在下次构建时禁用或删除它以节省时间。
另外,您可以尝试将 C:\Windows\ServiceProfiles\NetworkService\AppData\Roaming\npm 添加到环境变量(系统变量 > Path)中,然后直接使用 au。
关于node.js - TFS 2017本地无法在cmd中找到 Node 模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43182751/