Pdf 为什么NextJs不是';你不能在heroku上生成这个文件吗?

Pdf 为什么NextJs不是';你不能在heroku上生成这个文件吗?,pdf,heroku,next.js,puppeteer,Pdf,Heroku,Next.js,Puppeteer,我正在使用Heroku上托管的NextJs,运行localhost的项目在公用文件夹中生成一个pdf文件,但在Heroku上没有 这和Heroku的短暂存储有关吗?我希望不是因为项目只需要生成pdf,用户就可以下载,然后就可以删除了 我正在使用Puppeter生成pdf,代码基本上是: const browser=wait puppeter.launch({ 无头:是的, defaultViewport:null, args:['--incognito','--no sandbox','--si

我正在使用Heroku上托管的NextJs,运行localhost的项目在公用文件夹中生成一个pdf文件,但在Heroku上没有

这和Heroku的短暂存储有关吗?我希望不是因为项目只需要生成pdf,用户就可以下载,然后就可以删除了

我正在使用Puppeter生成pdf,代码基本上是:

const browser=wait puppeter.launch({
无头:是的,
defaultViewport:null,
args:['--incognito','--no sandbox','--single process','--no zygote'],
});
const page=wait browser.newPage();
等待page.setContent('content-goes-here');
等待页面。仿真媒体类型(“屏幕”);
等待页面.pdf({
路径:“public/file.pdf”,
格式:“A4”,
背景:是的,
});
等待浏览器关闭();

这可以在本地主机上运行,但不会在Heroku上生成文件,我不知道原因。

确保已安装Heroku Buildpack for Puppeter

您可以通过相应地运行以下命令从终端执行此操作

heroku构建包:清除
heroku构建包:添加--索引1https://github.com/jontewks/puppeteer-heroku-buildpack
heroku构建包:添加--索引1 heroku/nodejs
您可以通过Heroku仪表板执行此操作

打开Heroku应用程序,进入设置>构建包>添加构建包并添加URL


https://github.com/jontewks/puppeteer-heroku-buildpack

检查您的Heroku日志,看看发生这种情况时是否有任何错误?我得到了一个“/app/node\u modules/puppeter/。local chromium/linux-856583/chrome linux/chrome:加载共享库时出错:libnss3.so:无法打开共享对象文件:没有这样的文件或目录”考虑清除缓存并在HeloCu上再次运行构建。看到了吧!但我犯了一个错误,因为nextJS不加载动态资产。