未找到Lambda wkhtmltopdf命令

未找到Lambda wkhtmltopdf命令,lambda,wkhtmltopdf,Lambda,Wkhtmltopdf,我想在AWS Lambda函数中将html转换为pdf。有一个节点包正在使用wkhtmltopdf。这里是它的链接 https://www.npmjs.com/package/wkhtmltopdf 但是当我运行我的代码时,我得到了以下错误 Error: /bin/sh: wkhtmltopdf: command not found at Socket.<anonymous> (/var/task/node_modules/wkhtmltopdf/index.js:79:17) a

我想在AWS Lambda函数中将html转换为pdf。有一个节点包正在使用wkhtmltopdf。这里是它的链接

https://www.npmjs.com/package/wkhtmltopdf
但是当我运行我的代码时,我得到了以下错误

Error: /bin/sh: wkhtmltopdf: command not found
at Socket.<anonymous> (/var/task/node_modules/wkhtmltopdf/index.js:79:17)
at Socket.g (events.js:180:16)
at Socket.emit (events.js:95:17)
at Socket.<anonymous> (_stream_readable.js:765:14)
at Socket.emit (events.js:92:17)
at emitReadable_ (_stream_readable.js:427:10)
at emitReadable (_stream_readable.js:423:5)
at readableAddChunk (_stream_readable.js:166:9)
at Socket.Readable.push (_stream_readable.js:128:10)
at Pipe.onread (net.js:529:21)
错误:/bin/sh:wkhtmltopdf:未找到命令
在插座上。(/var/task/node_modules/wkhtmltopdf/index.js:79:17)
在Socket.g(events.js:180:16)
在Socket.emit(events.js:95:17)
在插座上。(_stream_readable.js:765:14)
在Socket.emit(events.js:92:17)
在emitReadable上(_stream_readable.js:427:10)
在emitReadable(_stream_readable.js:423:5)
在readableAddChunk(_stream_readable.js:166:9)
在Socket.Readable.push(_stream_Readable.js:128:10)
at Pipe.onread(net.js:529:21)
是否仍要在lambda函数中安装“wkhtmltopf”命令。

来自文档():

首先,您需要在系统上安装wkhtmltopdf命令行工具

下面介绍如何在lambda上安装文件

Lambda的内置沙箱允许您安全地运行以任何语言编写的代码,因为Lambda不依赖语言运行库来提供函数之间的隔离。无论Lambda是为您启动流程还是您自己启动流程,也不管它是用什么语言编写的,您都会得到相同的保护。有了这些,让我们看看这有多容易:

包含您自己的可执行文件很容易;只需将它们打包到上载的ZIP文件中,然后在从Node.js或之前启动的其他进程调用它们时引用它们(包括创建的ZIP文件中的相对路径)。确保在功能代码的开头包含以下内容:


我能够在nodejs中添加二进制文件。实际上,我们的代码在
/var/task
上运行,它在
process.env['LAMBDA\u task\u ROOT']

所以,若我们将二进制文件放在zip文件夹的根目录下,那个么我们可以将其包含在下面的路径中

process.env['PATH'] = process.env['PATH'] + ':' + process.env['LAMBDA_TASK_ROOT'];

谢谢Vegahyo,我已经整合了它