Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

461
Visualizações
No se puede leer la propiedad 'defaultEncoding' en el complemento s3sync del marco Serverless

Instalé el complemento siguiendo el comando en serverless 2.53.1.

 npm install --save-dev serverless-s3-sync

Después de instalar, importé el complemento como este en serverless.yml

 plugins: - serverless-plugin-common-excludes - serverless-plugin-include-dependencies - serverless-python-requirements - serverless-s3-sync

Pero (implementación sin servidor) está dando el siguiente error. También se adjunta captura de pantalla del error. (Este error solo ocurre cuando importo este complemento de serverless-s3-sync en el archivo serverless.yml, otros complementos funcionan bien).

ERROR DE DETALLES:

TypeError: no se puede leer la propiedad 'defaultEncoding' de undefined en _write (node:internal/streams/writable:291:24) en WriteStream.Writable.write (node:internal/streams/writable:334:10) en NodejsStreamOutputAdapter.ondata (C :\serverless_v2\node_modules\readable-stream\lib_stream_readable.js:619:20) en NodejsStreamOutputAdapter.emit (nodo:eventos:394:28)

Aquí hay un error completo:

ingrese la descripción de la imagen aquí

over 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

Recibí este mensaje de error dos veces de Serverless Framework. El mensaje de error no es descriptivo de la causa raíz. La forma en que pude resolverlo fue:

  • Elimine los dos directorios llamados (1) node_modules y (2) .serverless
  • Vuelva a instalar las dependencias usando serverless en lugar de npm, por ejemplo, serverless serverless plugin install -n serverless-s3-sync

Ahora podría implementar el proyecto nuevamente. Pero el mensaje de error es engañoso y debe considerarse un error en sí mismo, ya que el mensaje de error es una fuente de dolorosa confusión.

over 4 years ago · Santiago Trujillo Relatório

0

Después de mucho investigar, aislé la causa de tener dos versiones diferentes de graceful-fs en las subdependencias del nodo resuelto.

En mi caso, estoy usando el complemento serverless-python-requirements , no serverless-s3-sync , pero el error es el mismo. Ambos complementos enumeran graceful-fs como una dependencia.

Puede ver en la yarn list que hay dos versiones diferentes de graceful-fs instaladas:

 % yarn list ├─ fs-extra@9.1.0 │ ├─ at-least-node@^1.0.0 │ ├─ graceful-fs@^4.2.0 │ ├─ jsonfile@^6.0.1 │ └─ universalify@^2.0.0 … ├─ graceful-fs@4.2.2 ← version used by fs-extra, required by jsonfile … ├─ jsonfile@6.1.0 │ ├─ graceful-fs@^4.1.6 │ ├─ graceful-fs@4.1.15 ← version used by jsonfile │ └─ universalify@^2.0.0 …

Parece que los objetos de flujo creados por una versión de esta biblioteca no son consumibles por la otra versión.

Con yarn resolví esto colocando graceful-fs en la última versión agregando esto a mi archivo package.json :

 "resolutions": { "**/graceful-fs": "4.2.8" }

Para npm , debería ser posible lograr lo mismo usando npm-force-solutions , pero parece que la sintaxis es ligeramente diferente (no he probado esto):

 "resolutions": { "graceful-fs": "4.2.8" }

Eliminar el archivo de bloqueo y la carpeta node_modules y reinstalarlos podría resolver el problema, pero dado el dolor que esto ha causado, estaba más feliz de anclar la versión en package.json .

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda