AWS Lambda因NodeJS依赖性而失败


一号位
2025-03-13 10:39:16 (8天前)
  1. 但是使用自定义模块或Docker

堆栈溢出; “我可以使用WebWorkers吗?

AWS
</跨度>

LAMBDA
</跨度>
(节点6.10)“
介质; “如何解开

AWS
</跨度>
Lambda是NodeJS的本地编译
函数(使用Docker和Bash)“


AWS
</跨度>
; “使用包和Native nodejs模块

AWS
</跨度>

LAMBDA
</跨度>

我执行NodeJS时收到以下错误

LAMBDA
</跨度>
具有依赖性的函数。在MacOSX High Sierra v10.13.3 Beta上运行带有NPM v5.6.0的NodeJS v8.4.0。

“errorMessage”:“/ var / task锟

2 条回复
  1. 0# 易米烊光 | 2019-08-31 10-32



    一些npm模块使用正在编译的本机二进制文件

    npm install

    。这些编译的二进制文件仅在编译它们的OS /平台上运行。



    由于上述原因,您在MacOS上编译的那些本机依赖项将会


    </强>
    自从Lambda在Linux上运行后,您就可以在AWS Lambda上传它们。



    要解决您的问题,您需要创建Lambda部署包(包括

    npm install

    )在Linux机器上。您有几种方法可以做到这一点:





    1. 使用Linux虚拟机(例如Virtualbox或Parallels)并执行您的操作

      npm install

      从那个VM里面。





    2. 使用

      vagrant

      。与1号相同。





    3. 使用

      docker

      。仍然非常类似于1号和2号。



    4. </醇>


      或者,只需使用纯JS依赖项,您就不会首先遇到上述问题。许多本机npm模块现在都有纯JS替代品。


登录 后才能参与评论