Solucionado (ver solução)
Solucionado
(ver solução)
5
respostas

Error: Cannot find module 'moment'

Fazendo alguns testes no AWS Lambda, com Node.js me deparei com o seguinte erro quando tento carregar um módulo. Alguém já passou por isso?

Abaixo está o código que criei ( super difícil ):

'use strict'

exports.handler = (event, context) => {
  const moment = require('moment');
}
5 respostas

Oi Diogo, esse tipo de erro é indicativo de que o módulo que você está tentando usar não está disponível / instalado no ambiente que o código está rodando.

Legal, e como instalo isso na AWS? Hoje, consigo fazer normalmente na minha máquina com o comando npm install. Lá na AWS, não encontrei uma forma de executar isso. =/

Consegue me ajudar nisso?

solução!

Pelo que entendi na documentação deles, você precisa criar um pacote de deploy com tudo e enviar pra lá. Você não vai conseguir fazer um npm install lá.

Link: https://docs.aws.amazon.com/lambda/latest/dg/with-s3-example-deployment-pkg.html

A ideia é que você instale as dependências offline, na sua máquina, faça um zip do projeto e envie pra o serviço. A sua função lambda vai ser esse zip inteiro em vez de um arquivo só.

Sim, na luta pelo conhecimento descobri que preciso baixar na minha máquina e depois subir.

E para subir, vi que a AWS disponibiliza uma package chamada serverless onde é possível criar o ambiente e fazer deploy de forma automatizada.

Obrigado Professor pelo apoio!

Opa, isso mesmo. Precisando de ajuda é só chamar!

Bons estudos!