0

无法在自托管 Azure 代理上安装 npm botskills 命令。

使用以下命令安装软件包得到更新,但是当尝试使用“botskills”命令检查时,它会抛出错误,说 botskills 不可用。

截图

使用“ npm install -g botskills@latest ”安装包,以下屏幕截图推断 botskill 包已更新。

图片

但是当尝试使用更新的包时它不起作用

图片

所有其他支持包都已更新。

仅在使用自托管代理(Windows 代理)时会出现此问题,并且在本地没有问题。

重现步骤 1) 使用任何 Microsoft 自托管代理。2)尝试使用以下命令安装 botkskills npm install -g botskills@latest (按照随附的屏幕截图) 3)尝试使用 botskills 验证软件包是否可用。

4

2 回答 2

0

我不确定 Azure 代理是否支持它,但这看起来像是一个路径问题。

在典型的机器上,在 powershell 中,您可以运行以下命令来检查您的路径变量设置为:

$env:path.split(";")

您通常应该具有以下内容: C:\Users\<username>\AppData\Roaming\npm作为路径之一。

对我来说,机器人技能是: C:\Users\<myusername>\AppData\Roaming\npm\botskills.ps1

如果您的路径变量中没有该 npm 路径,则需要以某种方式进行补救。如果它在那里,那么您需要验证 botskills.ps1 是否在那里。

一切设置正确后,您可以在 PowerShell 中使用以下命令查找路径:

get-command botskills | select path

于 2020-02-26T17:59:55.527 回答
0

无法识别错误 botskills 是因为 botskills 软件包安装路径不在您本地计算机的系统环境变量 PATH 中。Azure 管道代理作为不同的用户(默认为 NetworkService 用户)运行,并且 botskills 包由 azure 管道安装在系统环境路径未知的不同路径中。

您需要手动将“路径”添加到自托管代理机器的系统环境路径。

您还可以使用--prefix指定自定义 npm 包安装文件夹,并确保将路径添加到自托管代理机器的系统环境路径。

npm install botskills@latest -g --prefix C:\custompath\npm

或者您可以使用以下脚本将安装路径添加到 powershell 任务中的环境路径。

$env:Path += ";C:\path to botskills installation\npm"

请查看此线程的答案以获取更多信息,并在此处讨论类似问题。

于 2020-02-27T10:15:36.767 回答