Проблемы с html-pdf на Elastic Beanstalk (Node.js) - PullRequest
0 голосов
/ 24 октября 2019

У меня серьезные и периодические проблемы с установкой phantomjs-prebuilt на Elastic Beanstalk с использованием html-pdf. Я испробовал каждое решение, которое смог найти, но не очень разбираюсь в том, как это исправить. Я даже не могу понять, как использовать SSH в этом случае, поэтому, пожалуйста, относитесь ко мне как к новичку. В настоящее время я получаю сообщение об ошибке:

> node server.js

html-pdf: Failed to load PhantomJS module. { Error: Cannot find module 'phantomjs-prebuilt'
    at Function.Module._resolveFilename (module.js:548:15)
    at Function.Module._load (module.js:475:25)
    at Module.require (module.js:597:17)
    at require (internal/module.js:11:18)
    at Object.<anonymous> (/var/app/current/node_modules/html-pdf/lib/pdf.js:7:19)
    at Module._compile (module.js:653:30)
    at Object.Module._extensions..js (module.js:664:10)
    at Module.load (module.js:566:32)
    at tryModuleLoad (module.js:506:12)
    at Function.Module._load (module.js:498:3) code: 'MODULE_NOT_FOUND' }
Server is running.

Я пробовал разные сценарии установки в расширениях, увеличивая экземпляр (t2.micro-t2.small-t2.medium), некоторый файл с именем .npmrcи кучу других вещей.

Как я могу навсегда решить эту проблему?

Мне удастся установить предустановленные фантомы локально при запуске npm install и html-pdf lib. в течение нескольких лет, но потом он снова начал возвращаться, и я не изменил package.json.

Любая помощь очень ценится! Дайте мне знать, какой код вам нужно увидеть!

РЕДАКТИРОВАТЬ: я только что установил CLI и SSH в экземпляр. Там я выполнил команду:

sudo npm install -g phantomjs@2.1.1 --unsafe-perm

, а затем

sudo npm install -g phantomjs-prebuilt --unsafe-perm

, но при перезапуске приложения я получаю точно такое же сообщение об ошибке.

1 Ответ

0 голосов
/ 24 октября 2019

Для тех, у кого возникли серьезные проблемы с PhantomJS в Elastic Beanstalk, в конечном итоге моя проблема была решена путем установки AWS CLI, выполнения шагов по настройке EB:

eb ssh [ENV] [REGION] - Don't worry, the CLI will guide you

и после настройки IAM онлайн с пользователемналичие ElasticBeanstalkFullAccess (и пароля консоли), а затем файлов конфигурации для aws cli по адресу:

~/.aws/config and credentials with the keys and secrets from IAM

и, наконец, подключение к среде с помощью eb ssh и запуск:

sudo npm install -g phantomjs-prebuilt --unsafe-perm
sudo npm install html-pdf -g (will give deprecated warning)
sudo npm link html-pdf
sudo npm link phantomjs-prebuilt

Наконец,перезапустите сервер приложений через панель мониторинга и проверьте журналы (последние 100 строк) - должно быть просто:

> node server.js

Server is running.

или подобное. Удачи.

Спасибо Paul-JO за решение, которое сработало для меня.

...