You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET环境下虚拟机安装Playwright执行playwright install报错如何解决

问题描述

尝试在部署目标虚拟机上安装Playwright以运行UI测试时,首先执行了以下CLI全局安装命令:

# 全局安装Playwright CLI
dotnet tool install --global Microsoft.Playwright.CLI

playwright install

但执行playwright install等Playwright CLI相关命令时,收到如下报错:

Couldn't find project using Playwright. Ensure a project or a solution exists in C:\users\myuser, or provide another path using -p.
(中文含义:找不到使用Playwright的项目,请确认C:\users\myuser路径下存在项目或解决方案,或使用-p参数指定其他路径)

询问如何在虚拟机上正确安装Playwright。

现有局限说明

目前Playwright的.NET NuGet包设计存在局限性:虽然API使用体验优异,但部署难度较高,存在以下问题:

  • 无法直接在部署服务器上通过CLI默认流程安装浏览器
  • 包会向项目及所有引用该包的项目中添加3份总大小200MB的Node.js运行时
  • 难以阻止这些运行时文件被打包到发布产物中,单次构建产物体积很容易达到1GB
  • 暂不支持自定义Node.js或Playwright的存储路径
解决方案

报错修复方法

上述报错是因为Playwright CLI默认会检测当前目录下是否存在引用了Playwright NuGet包的.NET项目,没有检测到就会抛出错误,可通过两种方法解决:

  • 指定项目路径执行安装:如果虚拟机上已经存在引用了Playwright的.NET项目,执行命令时添加-p参数指定项目/解决方案路径即可,示例:
    playwright install -p 你的项目路径/项目名.csproj
    
  • 无项目强制安装:如果不需要依赖.NET项目,可添加--force参数强制安装浏览器,直接跳过项目检测,示例:
    # 安装所有支持的浏览器
    playwright install --force
    # 仅安装指定浏览器,节省空间,可选值:chromium、firefox、webkit
    playwright install chromium --force
    

部署体积优化方案

针对发布产物体积过大的问题,可通过以下配置优化:

  • 在项目的.csproj文件中添加配置节点<PlaywrightIncludeNodeRuntime>false</PlaywrightIncludeNodeRuntime>,禁止打包内置的Node.js运行时,前提是部署服务器上已经提前安装了符合版本要求的Node.js环境
  • 发布时指定运行时标识,禁用不必要的运行时打包,示例命令:
    dotnet publish -r win-x64 --self-contained false
    
  • 按需安装浏览器,不需要的浏览器不安装,可减少数百MB的占用空间

内容的提问来源于stack exchange,提问作者Liero

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 23:45:09