簡體   English   中英

在自托管VSO代理上運行NPM

[英]Running NPM on a self-hosted VSO Agent

我在Azure上使用Azure VM和Visual Studio Release插件設置了VSO代理。 我還安裝了最新版本的node.js(使用NVM for windows)。 我在安裝VSO代理時使用了默認帳戶,因為我用於遠程桌面的憑據不起作用。

我可以遠程進入機器並運行我試圖從VSO運行的構建腳本。 我也可以用它運行純粹的.NET構建並且很好。 我的問題在於使用npm來安裝我的軟件包並運行構建。

我已經像這樣建立了對構建的需求:

npm | exists

我從控制面板上設置了VSO代理的功能,如下所示:

npm | C:\\Program Files\\nodejs\\npm.cmd

也試過了

npm | C:\\Program Files\\nodejs

我可以在該文件夾中看到npm.cmd,當我遠程使用該路徑時,我可以運行npm。 我還根據這個問題重新啟動了VSO代理服務:

TFS構建代理無法定位npm

重啟服務器並完成了“更新所有代理”幾次。 我的路徑中也有npm,並且能夠在登錄時正常執行。

編輯:

錯誤信息:

npm : The term 'npm' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the 
spelling of the name, or if a path was included, verify that the path is correct and try again.
At C:\work-folder\1\s\azure-deploy.ps1:24 char:1
+ npm update
+ ~~~
+ CategoryInfo : ObjectNotFound: (npm:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException

我也嘗試添加如下所述的行:

$env:Path += ";C:\\Program Files\\nodejs\\"

同樣的錯誤。 我的$ env的Write-Host :該命令后的路徑寫入給出:

C:\Application Intallers\agent (1)\agent\worker\Modules\Microsoft.TeamFoundation.DistributedTask.Task.Internal\NativeBinaries\amd64;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Microsoft\Web Platform Installer\;C:\Users\propertyplotdev\AppData\Roaming\nvm;C:\Program Files\nodejs;C:\Program Files\Git\cmd;C:\Program Files\Git\mingw64\bin;C:\Program Files\Git\usr\bin;C:\Program Files\Microsoft SQL Server\120\Tools\Binn\;C:\Program Files (x86)\Windows Kits\8.1\Windows Performance Toolkit\;C:\Program Files (x86)\Microsoft SDKs\Azure\CLI\wbin;C:\Program Files (x86)\Microsoft SDKs\Azure\AzCopy;C:\Program Files\nodejs;C:\Windows\ServiceProfiles\LocalService\.dnx\runtimes\dnx-clr-win-x86.1.0.0-rc1-update1\bin;C:\Windows\ServiceProfiles\LocalService\.dnx\bin;C:\Program Files\nodejs\

C:\\Program Files\\nodejs\\npm.cmdC:\\Program Files\\nodejs\\node.js存在,NETWORK SERVICE對它們具有權限。 (以及Adiministrators,SYSTEM和我的登錄)

解決方案是使用常規安裝程序安裝node.js:

https://nodejs.org/en/download/

然后這工作。 還有其他問題但是這個問題的直接問題是通過不使用nvm來安裝節點來解決的。 然后,我可以在VSO構建定義界面中添加npm任務。

確保npm安裝在“C:\\ Program Files \\ nodejs \\”文件夾中,然后在PowerShell腳本中添加以下內容:

$env:Path += ";C:\Program Files\nodejs\"

嘗試從以下位置添加run npm命令構建任務:

添加構建步驟 - >添加任務 - >包 - > npm(運行npm命令)

並將install as as 命令添加到web-project 目錄作為工作目錄

否則,請嘗試添加以下功能:

node.js | C:\Program Files\nodejs\node.exe

和:

   npm | C:\Program Files\nodejs\npm.cmd

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM