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

442
Visualizações
La dependencia de Sharp JS rompe Express Server en Elastic Beanstalk

Siento que esto es inútil ya que mi acertijo se ha discutido en varios hilos diferentes, pero nada ha funcionado.

Tengo un servidor ExpressJS/node implementado en AWS Elastic Beanstalk. Cuando intenté implementar por primera vez hace varias semanas, no pude hacerlo funcionar hasta que finalmente me di cuenta de que una de mis muchas dependencias (una increíble herramienta de cambio de tamaño de imagen llamada Sharp) lo estaba rompiendo. Lo desinstalé y eliminé su uso en el servidor. Todo estuvo bien. Pero realmente lo necesito: funciona muy bien cuando ejecuto el servidor en mi dispositivo local.

Pero cuando reinstalo e implemento, aparece este error:

 npm ERR! path /var/app/staging/node_modules/sharp npm ERR! command failed npm ERR! command sh -c (node install/libvips && node install/dll-copy && prebuild-install) || (node install/can-compile && node-gyp rebuild && node install/dll-copy) npm ERR! sharp: Are you trying to install as a root or sudo user? Try again with the --unsafe-perm flag npm ERR! sharp: Please see https://sharp.pixelplumbing.com/install for required dependencies npm ERR! sharp: Installation error: EACCES: permission denied, mkdir '/root/.npm'

La mayoría de las respuestas en la web son establecer unsafe-perm=true, como una variable de entorno, en un archivo llamado .npmrc, usando un archivo .config en .ebextensions que otorga permisos de escritura a root... Buscar en Google cualquier cosa relacionada con Sharp y Elastic Beanstalk, o mis errores específicos me traen un mar interminable de enlaces morados. Pero nada ha funcionado.

EDITAR: En lugar de seguir luchando para que Sharp funcione, encontré una herramienta alternativa llamada Jimp. Puede ser menos robusto que Sharp, pero realmente solo necesito cambiar el tamaño, y lo hace, por lo que si alguien más se está molestando por este problema, considere ahorrarse el dolor de cabeza y vaya con Jimp.

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

0

Consulte mi solución "alternativa" proporcionada en el siguiente problema de GitHub ( no se puede instalar en AWS ElasticBeanstalk con el nodo 16 n.º 3221 ) para obtener una explicación completa.

Solución:

  1. Cree las siguientes rutas de Platform Hooks en el directorio raíz de su paquete de aplicaciones.
  • .plataforma/ganchos/precompilación
  • .plataforma/confighooks/preconstruir
  1. Cree el siguiente script bash (00_npm_install.sh) con permisos de ejecución (chmod +x).
 #!/bin/bash cd /var/app/staging sudo -u webapp npm install sharp
  1. Valide la estructura del paquete de aplicaciones.

Ex. Ejemplo de estructura de proyecto:

 ~/my-app/ ├── app.js ├── index.html ├── .npmrc_bkp ├── package.json ├── package-lock.json ├── .platform │ ├── confighooks │ │ └── prebuild │ │ └── 00_npm_install.sh │ └── hooks │ └── prebuild │ └── 00_npm_install.sh └── Procfile
  1. ¡Despliega la Aplicación!

¡Espero eso ayude!

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