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

Node.js项目本地Chromium可执行路径有效,部署后提示不存在的原因?

问题原因及解决办法

1. 操作系统架构不匹配

你本地用的是Mac系统,依赖的是chrome-mac目录下的Mac版Chromium,但部署的服务器几乎都是Linux系统——Mac的二进制文件在Linux下无法运行,且路径里的chrome-mac也不符合Linux版本的目录结构,自然找不到可执行文件。

解决:

  • 登录服务器,在项目根目录执行npx playwright install chromium,让Playwright自动适配服务器系统安装对应版本的Chromium;
  • 代码里可以直接移除executablePath配置,Playwright会自动定位到正确的可执行文件路径;如果需要手动指定,可使用require('playwright').chromium.executablePath()获取内置路径。

2. 相对路径解析偏差

代码里用的是相对路径playwright/chromium-1076/...,这个路径是基于应用启动时的工作目录,而非utils/index.js所在目录。服务器上启动应用的工作目录可能和本地不同,导致路径解析错误。

解决:
用Node.js的path模块生成基于当前文件的绝对路径:

const path = require('path');
// 从utils/index.js向上两级找到playwright目录
const executablePath = path.resolve(__dirname, '../../playwright/chromium-1076/chrome-mac/Chromium.app/Contents/MacOS/Chromium');

(注:此方法仅适用于服务器和本地系统一致的情况,优先推荐解决操作系统不匹配的问题)

3. 部署时文件未同步

可能你的.gitignore文件排除了playwright目录,或者CI/CD、FTP等部署工具没有将playwright/chromium-1076目录同步到服务器。

解决:

  • 检查项目根目录的.gitignore,确保没有包含playwright相关规则;
  • 确认部署流程中是否包含该目录的上传,比如Git提交时执行git add playwright/chromium-1076后再推送。

4. 可执行权限缺失

即便文件传到了服务器,Chromium二进制文件可能没有可执行权限,系统无法识别它为可执行程序。

解决:
登录服务器,定位到Chromium文件路径,执行chmod +x Chromium为其添加可执行权限。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 02:03:26