node.js - 无法将Nightmarejs应用程序部署到Heroku

标签 node.js heroku electron nightmare

编辑-1/6/2020

我的解决方案最终是转移到puppeteer.js,并以零问题部署到Heroku,由于API相似,我花了15分钟的时间更改代码。因此,如果有人在nightmare.js上遇到这些问题,我建议您看看puppeteer.js祝您好运!

--

经过长时间的奋斗,我终于来到这里寻求解决方案的任何线索

我正在尝试将nightmarejs应用程序部署到heroku(在我的Mac上完美运行)。
我遵循了我在互联网上可以找到的所有指南,包括:

oscarmorrison

johann.pardanaud

kireerik

我也尝试过this

我一直收到一些缺少某些软件包的错误,因此我调整了Aptfile,然后调整了在网上找到的内容。

最终我现在收到的错误是-electron:stderr /app/node_modules/electron/dist/electron: symbol lookup error: /app/node_modules/electron/dist/electron: undefined symbol: udata_setCommonData_59 nightmare electron child process exited with code 127: command not found - you may not have electron installed correctly
我的构建包是:

  • https://github.com/heroku/heroku-buildpack-apt
  • https://github.com/captain401/heroku-buildpack-xvfb.git
  • https://github.com/ubuntugod/heroku-electron-buildpack.git
  • heroku/nodejs

  • 使用heroku-18作为堆栈。

    我的Aptfile:
    xvfb
    x11-xkb-utils
    xfonts-100dpi
    xfonts-75dpi
    xfonts-scalable
    xfonts-cyrillic
    libxfont1
    libnotify4
    libxss1
    libgconf-2-4
    libgtkextra-dev
    libgconf2-dev
    libnss3
    libasound2
    libxtst-dev
    libxinerama1
    libcairo-gobject2
    x11-apps
    clang
    libdbus-1-dev
    libgtk2.0-dev
    libnotify-dev
    libgnome-keyring-dev
    libasound2-dev
    libcap-dev
    libcups2-dev
    libnss3-dev
    gcc-multilib
    g++-multilib
    

    在Aptfile中可能确实没有一些必要的软件包,但是经过这么多次尝试,我完全感到困惑

    我的个人文件:
    web: DEBUG=*  xvfb-run --auto-servernum --server-args="-screen 0 1280x1028x24 -ac +extension GLX +render" node --harmony ./build/app.js
    

    Nightmare 版-3.0.2

    nodejs版本-12.13.0

    npm版本-6.12.0

    让我知道是否还有其他需要分享的地方。

    如果有人可以提供任何信息,我将不胜感激!

    最佳答案

    apt-get install -y \
      xvfb \
      x11-xkb-utils \
      xfonts-100dpi \
      xfonts-75dpi \
      xfonts-scalable \
      xfonts-cyrillic \
      x11-apps \
      clang \
      libdbus-1-dev \
      libgtk2.0-dev \
      libnotify-dev \
      libgnome-keyring-dev \
      libgconf2-dev \
      libasound2-dev \
      libcap-dev \
      libcups2-dev \
      libxtst-dev \
      libxss1 \
      libnss3-dev \
      gcc-multilib \
      g++-multilib
    

    https://github.com/segmentio/nightmare/issues/224#issuecomment-365938300

    好像apt文件中缺少xvfb

    关于node.js - 无法将Nightmarejs应用程序部署到Heroku,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61701328/

    相关文章:

    javascript - 使用 Mongoose 时 MongoDb 连接错误

    django dumpdata => 在 heroku 上加载

    node.js - 如何运行带参数的 Electron 应用程序?

    javascript - 使用 gridfs 和 mongoose 在 mongodb 中存储文件

    javascript - nodejs - 集群中的最佳 worker 数

    reactjs - Heroku 重定向 Next.js React 客户端应用程序 http 到 https

    node.js - React-Electron 应用程序中的终端

    javascript - 总是得到 "(0 , _reactDom.h) is not a function"或 "h is not defined"

    node.js - 即时更改文件名以供下载

    javascript - Heroku 创建命令产生 "ENOENT"错误