Установка Firefox на EC2 с использованием проекта Lambda Linux

Вопрос или проблема

Я пытаюсь настроить сервер nodejs+selenium на ec2.

Я установил и настроил node, и попытался установить Firefox, воспользовавшись учебником здесь:

https://lambda-linux.io/blog/2015/01/28/announcing-firefox-browser-support-for-amazon-linux/

Я всё установил, но когда я запускаю Firefox, получаю эту ошибку.

GLib-CRITICAL **: g_slice_set_config: assertion `sys_page_size == 0′ failed

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

Спасибо!

Как обсуждалось на почтовом списке, мы обновили инструкции для загрузки последней версии Firefox. Если это всё ещё не работает с последней версией Amazon Linux AMI и Firefox, пожалуйста, дайте нам знать.

Спасибо, что используете пакеты Lambda Linux Project.

Ответ или решение

Установка Firefox на EC2 с использованием Lambda Linux Project

Установка Firefox на сервере Amazon EC2 может показаться сложной задачей, особенно когда вы сталкиваетесь с ошибками, такими как GLib-CRITICAL **: g_slice_set_config: assertion 'sys_page_size == 0' failed. В этом руководстве я подробно опишу процесс установки Firefox для работы с Node.js и Selenium на EC2 с использованием Amazon Linux, а также предложу решения для устранения ошибок.

Шаг 1: Подготовка окружения

Перед началом установки убедитесь, что на вашем экземпляре EC2 уже установлен Node.js. Для этого выполните следующие команды:

# Установите Node.js
curl -sL https://rpm.nodesource.com/setup_14.x | sudo bash -
sudo yum install -y nodejs

Шаг 2: Установка зависимостей

Для работы Firefox нам понадобятся некоторые зависимости, включая Xvfb (виртуальный фреймбуфер) для запуска браузера в безголовом режиме:

# Установите необходимые пакеты
sudo yum install -y xorg-x11-server-Xorg xorg-x11-server-Xvfb xorg-x11-xauth xorg-x11-utils

Шаг 3: Установка Firefox

Теперь давайте загрузим и установим последнюю версию Firefox, как указано в вашем источнике:

# Загрузка и установка последней версии Firefox
sudo yum install -y firefox

Убедитесь, что эта команда завершилась без ошибок. Если вы видите предупреждения или ошибки, попробуйте обновить систему:

sudo yum update -y

Шаг 4: Настройка Selenium

После успешной установки Firefox, необходимо настроить Selenium для использования браузера. Убедитесь, что у вас установлен пакет selenium-webdriver:

npm install selenium-webdriver

После этого добавьте следующий код в свой Node.js проект для запуска Firefox:

const { Builder } = require('selenium-webdriver');

(async function example() {
    let driver = await new Builder().forBrowser('firefox').build();
    try {
        await driver.get('http://www.example.com');
    } finally {
        await driver.quit();
    }
})();

Шаг 5: Устранение ошибок

Если вы столкнулись с ошибкой GLib-CRITICAL **: g_slice_set_config: assertion 'sys_page_size == 0' failed, это может быть связано с тем, что Firefox пытается получить доступ к графическим библиотекам без соответствующей конфигурации. Чтобы устранить эту ошибку, выполните следующее:

  1. Убедитесь, что у вас установлены все необходимые графические библиотеки, выполняя команды:

    sudo yum groupinstall -y "X Window System"
    sudo yum install -y libXtst libXrender
  2. Используйте Xvfb для запуска Firefox в безголовом режиме:

    Xvfb :99 -ac &
    export DISPLAY=:99

К этому моменту Firefox должен работать без ошибок.

Заключение

Теперь вы успешно установили Firefox на Amazon EC2 и настроили его для работы с Node.js и Selenium. Если после всех вышеперечисленных шагов возникают проблемы, советую проверить сообщества, такие как Lambda Linux Project Packages, где можно получить поддержку и обновления.

Следуя этим шагам, вы сможете запустить тесты и рабочие процессы веб-автоматизации на своем сервере. Если у вас есть дополнительные вопросы или возникают другие проблемы, не стесняйтесь обращаться за помощью.

Оцените материал
Добавить комментарий

Капча загружается...