在Playwright Docker中运行Angular应用时遇RustPseudoTerminal构造函数错误
解决
native_1.RustPseudoTerminal is not a constructor NX + Playwright Docker问题 清理不匹配的NX原生依赖
官方Playwright镜像基于Debian(x64-gnu架构),如果你的本地环境是ARM(比如M1/M2 Mac),之前安装的@nx/nx-linux-arm64-musl属于多余且冲突的依赖。直接移除它,只保留对应镜像架构的包:- 从package.json中删除
"@nx/nx-linux-arm64-musl": "18.0.4" - 执行
npm install重新同步依赖
- 从package.json中删除
禁用NX的Rust终端模拟
这个错误是NX尝试调用Rust实现的伪终端,但Docker环境不支持该特性导致的。可以通过配置强制关闭终端模拟:- 方式一:修改
nx.json,在tasksRunnerOptions.default.options中添加:"terminal": "false" - 方式二:启动命令直接加参数:
nx serve fe-rental-pricing --terminal false
- 方式一:修改
升级/降级NX版本
NX 18.0.4的终端模块在Docker环境存在兼容性bug,尝试升级到18.x的最新补丁版本,或者降级到17.x稳定版本,再重新测试。补充Docker镜像系统依赖
官方Playwright镜像可能缺少NX终端模拟需要的系统库,在Dockerfile中添加以下安装步骤:RUN apt-get update && apt-get install -y libssl-dev libc6-dev --no-install-recommends
内容的提问来源于stack exchange,提问作者FDM
相关产品推荐
相关产品推荐

