在 Forge 配置的服务器上将 Browsershot 与 Laravel 结合使用时出错

Pet*_*e H 5 node.js laravel laravel-forge puppeteer

我将Browsershot(使用Puppeteer)与 Laravel 一起使用。我让它在本地开发环境(Mac、Laravel Valet)中完美运行,但是当在 Forge 配置的服务器上运行它时,我在日志文件中收到以下错误(我已用占位符替换了敏感 URL):

local.ERROR: The command "PATH=$PATH:/usr/local/bin NODE_PATH=`/usr/bin/node /usr/bin/npm root -g` /usr/bin/node '/home/forge/my-app.co.uk/vendor/spatie/browsershot/src/../bin/browser.js' '{"url":"https:\/\/my-test-site.com\/about.html","action":"screenshot","options":{"type":"png","path":"\/home\/forge\/my-app.com\/storage\/screenshots\/13\/full\/21.jpg","args":[],"viewport":{"width":1400,"height":1080},"fullPage":true,"waitUntil":"networkidle0"}}'" failed.

Exit Code: 1(General error)
Run Code Online (Sandbox Code Playgroud)

我已按照自述文件中的说明安装最新版本的稳定 Chrome:

curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install -y nodejs gconf-service libasound2 libatk1.0-0 libc6 libcairo2 libcups2 libdbus-1-3 libexpat1 libfontconfig1 libgcc1 libgconf-2-4 libgdk-pixbuf2.0-0 libglib2.0-0 libgtk-3-0 libnspr4 libpango-1.0-0 libpangocairo-1.0-0 libstdc++6 libx11-6 libx11-xcb1 libxcb1 libxcomposite1 libxcursor1 libxdamage1 libxext6 libxfixes3 libxi6 libxrandr2 libxrender1 libxss1 libxtst6 ca-certificates fonts-liberation libappindicator1 libnss3 lsb-release xdg-utils wget
sudo npm install --global --unsafe-perm puppeteer
sudo chmod -R o+rx /usr/lib/node_modules/puppeteer/.local-chromium
Run Code Online (Sandbox Code Playgroud)

我的代码如下所示:

我还尝试指定自定义节点和 npm 二进制文件。我还尝试过自定义包含路径。这样做时,我得到的错误可能略有不同,但基本保持不变。

实际上,我正在安装 Puppeteer 作为 Forge 构建过程的一部分。我在注意到 Browsershot 自述文件中安装 Chrome 的说明之前就进行了设置。

我只是不确定如何解释该节点错误。我已经尝试了我能想到的一切。所以我希望有人能指出我正确的方向。

谢谢!