错误:找不到 Chrome /您的缓存路径配置不正确

问题描述 投票:0回答:1

我有一个使用 puppeteer 的 NodeJS 脚本。该脚本由 Laravel(一个 PHP 框架)启动。

在本地一切正常,因为 laravel 是在我当前的用户帐户下运行的,这意味着脚本也使用此帐户运行。

但是在我的服务器上,Laravel 使用 Apache 帐户(www-data)运行,因此 JS 脚本也是如此。

当脚本使用 puppeteer 时,我得到:

Error: Could not find Chrome (ver. 130.0.6723.58). This can occur if either
 1. you did not perform an installation before running the script (e.g. `npx puppeteer browsers install chrome`) or
 2. your cache path is incorrectly configured (which is: /var/www/.cache/puppeteer).
For (2), check out our guide on configuring puppeteer at https://pptr.dev/guides/configuration.
    at ChromeLauncher.resolveExecutablePath (file:///home/admin/node-twitterbot/node_modules/puppeteer-core/lib/esm/puppeteer/node/BrowserLauncher.js:266:27)
    at ChromeLauncher.executablePath (file:///home/admin/node-twitterbot/node_modules/puppeteer-core/lib/esm/puppeteer/node/ChromeLauncher.js:202:25)
    at ChromeLauncher.computeLaunchArguments (file:///home/admin/node-twitterbot/node_modules/puppeteer-core/lib/esm/puppeteer/node/ChromeLauncher.js:83:37)

所以我做到了:

sudo -u www-data npx puppeteer browsers install chrome chromium -- path=/var/www/.cache/puppeteer

在.cache文件夹中,有chrome和chromium。

但我还是遇到了例外。

有什么想法吗?

谢谢

node.js puppeteer
1个回答
0
投票

我必须指定浏览器的位置:

const 浏览器 = 等待 puppeteer.launch({ 可执行路径:'/usr/bin/chromium' })

© www.soinside.com 2019 - 2024. All rights reserved.