2017-04-03 69 views
0

如何在作爲服務運行的tfs代理中運行npm模塊?TFS 2017內部部署在cmd中找不到節點模塊

這是我的設置。

我在本地機器上設置代理,並在本地運行TFS 2017。 我嘗試在作爲服務運行的代理上構建aurelia應用程序。 我已經在agent運行的機器上安裝了node,aurelia cli和npm。它是全局訪問的,通過命令au build(aurelia cli build)手動運行cmd。但是,當我創建運行au(工具)和build(參數)的命令行構建步驟時,代理程序找不到au。

我認爲它也不會找到其他npm模塊。

回答

2

通常,構建代理(作爲服務運行)使用網絡服務帳戶,並且安裝的npm軟件包位於當前用戶文件夾中,因此您可以直接調用au命令,但在構建期間不能調用au命令。

您可以更改生成代理服務帳戶使用您的帳戶或請按以下步驟來安裝Aurelia路上,CLI包,並呼籲非盟在命令行步命令,如果你還在使用網絡服務帳戶:

  1. 添加命令(工具:npm;參數:安裝Aurelia-cli -g)
  2. 添加命令行步驟(工具:C:\ Windows \ ServiceProfiles \ NetworkService \ AppData \ Roaming \ npm \ au;參數:build;工作文件夾:[項目文件夾](例如$(Build.SourcesDirectory))

注意:第1步只需要運行一次,您可以禁用或刪除它以便下次構建以節省時間。另一方面,您可以嘗試向環境變量(系統變量>路徑)添加C:\ Windows \ ServiceProfiles \ NetworkService \ AppData \ Roaming \ npm,然後直接使用au。

+0

不錯!不斷變化的服務帳戶對我來說很合適謝謝。 – janmvtrinidad

+0

我們需要更改TFS服務器中的env變量(路徑)..好嗎?或者在構建控制器中? – Sreekumar

+0

@Sreekumar你不需要手動改變env變量。默認情況下,路徑環境(用戶變量)變量包含C:\ Users \ [XXX] \ AppData \ Roaming \ npm,如果沒有,則手動添加它。 –

相關問題