在 docker 中运行 playwright 时缺少依赖项

Dus*_* Le 5 dependencies docker playwright

我试图在 docker 中运行该剧作家,但出现此错误:

browserType.launch: Host system is missing dependencies!

Missing libraries are:
  libvpx.so.6
  libicui18n.so.66
  libicuuc.so.66
  libwoff2dec.so.1.0.2
  libharfbuzz-icu.so.0
  libgstgl-1.0.so.0
  libgstcodecparsers-1.0.so.0
  libjpeg.so.8
  libenchant.so.1
  libsecret-1.so.0
  libhyphen.so.0
  libGLESv2.so.2
Run Code Online (Sandbox Code Playgroud)

然后我尝试安装必要的库,通过添加以下内容来使捆绑版本的剧作家工作:

RUN apt-get update && apt-get install -y wget --no-install-recommends \
    && apt-get update \
    && apt-get install -y \
    libvpx6 \
    lib64icui18n66 \
    libicuuc66 \
    ....
Run Code Online (Sandbox Code Playgroud)

但我仍然收到这些错误:

E: Unable to locate package libvpx6 // I tried with libvpx5 but got the same error
E: Unable to locate package lib64icui18n66
E: Unable to locate package libicuuc66
....
Run Code Online (Sandbox Code Playgroud)

码头工人操作系统

Distributor ID: Debian
Description:    Debian GNU/Linux 9.13 (stretch)
Release:        9.13
Codename:       stretch
Run Code Online (Sandbox Code Playgroud)

任何人都可以帮忙吗?

Mik*_*ues 5

使用现代版本的 playwright,您可以使用以下命令轻松地将必要的包添加到任何容器中:

npx playwright install-deps
Run Code Online (Sandbox Code Playgroud)

这比手动安装它们要好得多,因为它将与剧作家更新保持同步。


注意:前面的答案虽然在技术上是正确的,但会用您可能不需要的厚层使您的容器膨胀。


Ash*_*ian 1

将其添加到您的 docker 文件中

FROM mcr.microsoft.com/playwright:v1.6.2-focal
Run Code Online (Sandbox Code Playgroud)

上面的命令应该添加所有缺少的依赖项来启动测试。