我在使用 html-pdf 在 Elastic Beanstalk 上安装 phantomjs-prebuilt 时遇到了严重且间歇性的问题。我已经尝试了所有我能找到的解决方案,但我并不精通如何解决这些问题。我什至不知道如何通过 SSH 连接到实例,所以请把我当作一个新手。我目前得到的错误是:
> node server.js
html-pdf: Failed to load PhantomJS module. { Error: Cannot find module 'phantomjs-prebuilt'
at Function.Module._resolveFilename (module.js:548:15)
at Function.Module._load (module.js:475:25)
at Module.require (module.js:597:17)
at require (internal/module.js:11:18)
at Object.<anonymous> (/var/app/current/node_modules/html-pdf/lib/pdf.js:7:19)
at Module._compile (module.js:653:30)
at Object.Module._extensions..js (module.js:664:10)
at Module.load (module.js:566:32)
at tryModuleLoad (module.js:506:12)
at Function.Module._load (module.js:498:3) code: 'MODULE_NOT_FOUND' }
Server is running.
我在 ebextensions 中尝试了不同的安装脚本,增加了实例(t2.micro-t2.small-t2.medium),一些名为 .npmrc 的文件和一堆其他的东西。
我怎样才能永久解决这个问题?
我可以在运行 npm install 时设法在本地安装 phantoms-prebuilt 并且 html-pdf lib 已经工作了好几年,但后来它又开始回来了,而我没有更改 package.json。
非常感谢任何帮助!让我知道您需要查看哪些代码!
编辑:我刚刚在实例中设置了 CLI 和 SSH。在那里我运行了命令:
sudo npm install -g phantomjs@2.1.1 --unsafe-perm
接着
sudo npm install -g phantomjs-prebuilt --unsafe-perm
但是当我重新启动应用程序时,我仍然收到完全相同的错误消息。