Bonjour,

Je maintient une application 'xxx' en Nodejs (12.8.1).
Quand je bosse 'en local', je suis sous windows, mon appli tourne 'en prod' sous Linux...

Sous windows l'appli ne plante pas !

Une fois uploadé sous Linux, sur le serveur Dev, l'appli plante lors d'un appel vers une fonction qui génère un pdf par le module html-pdf (en dehors de cette fonctionnalité, c'est nickel).

Je n'ai pas accès à une machine Linux (considérez que les serveurs me sont inaccessible pour des raisons de sécurité, seuls les dépots via filezilla ou installation de tag sont possible en dev, je ne peux pas utiliser npm sur ces serveurs Linux "bridés").

Mon diagnostic : le souci vient de phantomjs-prebuilt appelé par le module html-pdf de mon appli.

Ce que je veux
Une solution pour installer sous windows (en mode local et pas global) le binaire Linux de phantomjs-prebuilt
ou
un protocole pour "simuler" l'installation (les fichiers, où les mettres, lesquels modifier)

Ce que j'obtiens
l'appel au binaire génère un plantage dont voici la log

ERREUR : write EPIPE
> Error: write EPIPE
    at afterWriteDispatched (internal/stream_base_commons.js:154:25)
    at writeGeneric (internal/stream_base_commons.js:145:3)
    at Socket._writeGeneric (net.js:786:11)
    at Socket._write (net.js:798:8)
    at doWrite (_stream_writable.js:403:12)
    at writeOrBuffer (_stream_writable.js:387:5)
    at Socket.Writable.write (_stream_writable.js:318:11)
    at PDF.PdfExec [as exec] (/app/appli/nodejs/dev/xxx/node_modules/html-pdf/lib/pdf.js:141:15)
    at PDF.PdfToFile [as toFile] (/app/appli/nodejs/dev/xxx/node_modules/html-pdf/lib/pdf.js:83:8)
    at Object.exports.creationPDF (/app/appli/nodejs/dev/xxx/lib/epn_script_epnutil.js:327:33)
    at ctrlSite.determineSortie (/app/appli/nodejs/dev/xxx/app/controller/ctrlSite.js:1272:25)
    at Layer.handle_error (/app/appli/nodejs/dev/xxx/node_modules/express/lib/router/layer.js:71:5)
    at next (/app/appli/nodejs/dev/xxx/node_modules/express/lib/router/route.js:135:13)
    at /app/appli/nodejs/dev/xxx/app/controller/ctrlAnalyse.js:196:21
    at _fulfilled (/app/appli/nodejs/dev/xxx/node_modules/q/q.js:834:54)
    at /app/appli/nodejs/dev/xxx/node_modules/q/q.js:863:30
ID Erreur : undefined
Error: spawn /app/appli/nodejs/dev/xxx/node_modules/phantomjs-prebuilt/lib/phantom\bin\phantomjs.exe ENOENT
    at Process.ChildProcess._handle.onexit (internal/child_process.js:267:19)
    at onErrorNT (internal/child_process.js:469:16)
    at processTicksAndRejections (internal/process/task_queues.js:84:21) {
  errno: 'ENOENT',
  code: 'ENOENT',
  syscall: 'spawn /app/appli/nodejs/dev/xxx/node_modules/phantomjs-prebuilt/lib/phantom\\bin\\phantomjs.exe                                    ',
  path: '/app/appli/nodejs/dev/xxx/node_modules/phantomjs-prebuilt/lib/phantom\\bin\\phantomjs.exe',
  spawnargs: [
    '/app/appli/nodejs/dev/xxx/node_modules/html-pdf/lib/scripts/pdf_a4_portrait.js'
  ]
}

Merci de votre aide

Aucune réponse