一些npm模块使用正在编译的本机二进制文件
npm install
。这些编译的二进制文件仅在编译它们的OS /平台上运行。
由于上述原因,您在MacOS上编译的那些本机依赖项将会
的
不
</强>
自从Lambda在Linux上运行后,您就可以在AWS Lambda上传它们。
要解决您的问题,您需要创建Lambda部署包(包括
npm install
)在Linux机器上。您有几种方法可以做到这一点:
使用Linux虚拟机(例如Virtualbox或Parallels)并执行您的操作
npm install
从那个VM里面。
使用
vagrant
。与1号相同。
使用
docker
。仍然非常类似于1号和2号。
</醇>
或者,只需使用纯JS依赖项,您就不会首先遇到上述问题。许多本机npm模块现在都有纯JS替代品。