VSTS 托管代理 2017 和 PhantomJS 不工作
Posted
技术标签:
【中文标题】VSTS 托管代理 2017 和 PhantomJS 不工作【英文标题】:VSTS Hosted Agent 2017 and PhantomJS Not working 【发布时间】:2017-05-05 09:59:59 【问题描述】:我正在将一个项目迁移到 VSTS 上的 dotnet core *.csproj,但我无法在 Hosted2017 下获得具有 PhantomJS 的可行代理。有人可以就此提出建议吗?
经典的“Hosted”或“Hosted 2017”都没有明确地将 PhantomJS 作为一项功能。
它似乎可以通过添加以下变量来托管...
PHANTOMJS_BIN: C:\NPM\Modules\PhantomJS.cmd
但这对于 Hosted 2017 是不正确的
【问题讨论】:
【参考方案1】:您可以通过命令行步骤/任务调用npm install phantomjs来安装phantomjs包。
调用phantomjs命令的简单示例:
npm 安装(工作文件夹:$(Build.SourcesDirectory);
npm 命令:install
;参数:phantomjs
。
命令行(工具:node_modules\.bin\phantomjs.cmd
;参数:--help
;
工作目录:$(Build.SourcesDirectory)
)
您也可以将其添加到环境中临时(仅在当前会话中)。例如:
-
npm install(同)
PowerShell 脚本(参数:
-p $(Build.SourcesDirectory)\node_modules\.bin
;
脚本:
Param(
[string]$p
)
$env:Path += ";$p"
phantomjs --help
【讨论】:
我使用了这个的变体——这是正确的答案,但需要一些调整。正确的 npm 模块现在是“phantomjs-prebuilt”(旧的已弃用),不需要第 2 步。您可以通过将 PHANTOMJS_BIN 的变量设置为 '$(System.DefaultWorkingDirectory)\node_modules\.bin\phantomjs.cmd' 来解决此问题以上是关于VSTS 托管代理 2017 和 PhantomJS 不工作的主要内容,如果未能解决你的问题,请参考以下文章