npm команда не прошла при установке canvas

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

Я устанавливаю canvas на своем Raspberry Pi 5B. Но установка не удалась.

Вот что у меня получилось:


berryuki@berryuki:~/items/Bot/salt-bot/external/salt-main $ npm i canvas

npm WARN deprecated [email protected]: Этот модуль не поддерживается и вызывает утечку памяти. Не используйте его. Ознакомьтесь с lru-cache, если хотите хороший и проверенный способ объединять асинхронные запросы по значению ключа, который гораздо более универсален и мощен.

npm WARN deprecated [email protected]: Этот пакет больше не поддерживается.

npm WARN deprecated [email protected]: Версии Rimraf до v4 больше не поддерживаются.

npm WARN deprecated [email protected]: Этот пакет больше не поддерживается.

npm WARN deprecated [email protected]: Версии Glob до v9 больше не поддерживаются.

npm WARN deprecated [email protected]: Этот пакет больше не поддерживается.

npm ERR! code 1

npm ERR! path /home/berryuki/items/Bot/salt-bot/node_modules/canvas

npm ERR! command failed

npm ERR! command sh -c node-pre-gyp install --fallback-to-build --update-binary

npm ERR! Не удалось выполнить '/usr/bin/node /usr/share/nodejs/node-gyp/bin/node-gyp.js configure --fallback-to-build --update-binary --module=/home/berryuki/items/Bot/salt-bot/node_modules/canvas/build/Release/canvas.node --module_name=canvas --module_path=/home/berryuki/items/Bot/salt-bot/node_modules/canvas/build/Release --napi_version=9 --node_abi_napi=napi --napi_build_version=0 --node_napi_label=node-v108' (1)

npm ERR! node-pre-gyp info удачно, если заканчивается на ok

npm ERR! node-pre-gyp info используя [email protected]

npm ERR! node-pre-gyp info используя [email protected] | linux | arm64

npm ERR! node-pre-gyp http GET https://github.com/Automattic/node-canvas/releases/download/v2.11.2/canvas-v2.11.2-node-v108-linux-glibc-arm64.tar.gz

npm ERR! node-pre-gyp ERR! статус ответа установки 404 Не найден на https://github.com/Automattic/node-canvas/releases/download/v2.11.2/canvas-v2.11.2-node-v108-linux-glibc-arm64.tar.gz

npm ERR! node-pre-gyp WARN Предварительно собранные двоичные файлы не могут быть установлены для [email protected] и [email protected] (node-v108 ABI, glibc) (переход к компиляции из источника с помощью node-gyp)

npm ERR! node-pre-gyp WARN Возникла ошибка ответа 

berryuki@berryuki:~/items/Bot/salt-bot/external/salt-main $ npm i canvas --registry="https://registry.npmjs.org/"

npm WARN deprecated [email protected]: Этот модуль не поддерживается и вызывает утечку памяти. Не используйте его. Ознакомьтесь с lru-cache, если хотите хороший и проверенный способ объединять асинхронные запросы по значению ключа, который гораздо более универсален и мощен.

npm WARN deprecated [email protected]: Этот пакет больше не поддерживается.

npm WARN deprecated [email protected]: Версии Rimraf до v4 больше не поддерживаются.

npm WARN deprecated [email protected]: Этот пакет больше не поддерживается.

npm WARN deprecated [email protected]: Версии Glob до v9 больше не поддерживаются.

npm WARN deprecated [email protected]: Этот пакет больше не поддерживается.

npm ERR! code 1

npm ERR! path /home/berryuki/items/Bot/salt-bot/node_modules/canvas

npm ERR! command failed

npm ERR! command sh -c node-pre-gyp install --fallback-to-build --update-binary

npm ERR! Не удалось выполнить '/usr/bin/node /usr/share/nodejs/node-gyp/bin/node-gyp.js configure --fallback-to-build --update-binary --module=/home/berryuki/items/Bot/salt-bot/node_modules/canvas/build/Release/canvas.node --module_name=canvas --module_path=/home/berryuki/items/Bot/salt-bot/node_modules/canvas/build/Release --napi_version=9 --node_abi_napi=napi --napi_build_version=0 --node_napi_label=node-v108' (1)

npm ERR! node-pre-gyp info удачно, если заканчивается на ok

npm ERR! node-pre-gyp info используя [email protected]

npm ERR! node-pre-gyp info используя [email protected] | linux | arm64

npm ERR! node-pre-gyp http GET https://github.com/Automattic/node-canvas/releases/download/v2.11.2/canvas-v2.11.2-node-v108-linux-glibc-arm64.tar.gz

npm ERR! node-pre-gyp ERR! запрос установки к https://github.com/Automattic/node-canvas/releases/download/v2.11.2/canvas-v2.11.2-node-v108-linux-glibc-arm64.tar.gz не удался, причина: connect ETIMEDOUT 20.205.243.166:443

npm ERR! node-pre-gyp WARN Предварительно собранные двоичные файлы не могут быть установлены для [email protected] и [email protected] (node-v108 ABI, glibc) (переход к компиляции из источника)

По умолчанию я изменил реестр npm. После этого я заподозрил, что проблема может быть в реестре, поэтому вернулся к официальному реестру. Но это, похоже, не сработало.

ОС:
вставьте описание изображения здесь
версия node: 18.19.0
версия npm: 9.2.0

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

Установка модуля Canvas на Raspberry Pi: Решение проблемы

Разработка на платформе Raspberry Pi, особенно версия 5B, может вызвать некоторые сложности при установке определённых npm-пакетов, таких как Canvas. Ниже рассмотрим шаги, которые помогут устранить распространённые ошибки и успешно установить этот модуль.

Проблема с установкой

Как видно из вашего вывода, установка Canvas завершилась с ошибкой. Вы столкнулись с несколькими предупреждениями о неработающих зависимостях и, наконец, с ошибкой, связанной с node-pre-gyp, которая не смогла скачать предварительно собранный файл по указанному пути:

npm ERR! node-pre-gyp http GET https://github.com/Automattic/node-canvas/releases/download/v2.11.2/canvas-v2.11.2-node-v108-linux-glibc-arm64.tar.gz
npm ERR! node-pre-gyp ERR! install response status 404 Not Found

Это указывает на то, что для вашей конфигурации (архитектура arm64, версия Node.js) не существует предварительно скомпилированного бинарного файла.

Шаги для устранения проблемы

  1. Установка зависимостей: Убедитесь, что у вас установлены все необходимые библиотеки для компиляции Canvas. Для этого выполните:

    sudo apt-get install build-essential libcairo2-dev libpango1.0-dev libjpeg-dev libgif-dev librsvg2-dev

    Эти пакеты содержат библиотеки и заголовочные файлы, необходимые для сборки модуля Canvas.

  2. Обновление NPM и Node.js: Убедитесь, что вы используете последнюю стабильную версию Node.js и npm. Вы можете установить Node Version Manager (NVM) для управления версиями Node.js:

    curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash
    source ~/.bashrc
    nvm install node
    nvm use node  # Использование последней версии

    Замените v0.39.5 на самую актуальную версию скрипта установки NVM.

  3. Очистка кэша npm: Иногда кэш может вызывать проблемы. Попробуйте очистить его:

    npm cache clean --force
  4. Установка Canvas: Теперь попробуйте снова установить модуль Canvas:

    npm install canvas
  5. Сборка из исходного кода: Если установка все еще завершается ошибкой, вы можете попробовать установить Canvas, указав флаг для принудительной компиляции из исходников:

    npm install canvas --build-from-source

Завершение

Если после выполнения всех рекомендаций установка Canvas все еще не удалась, внимательно просмотрите сообщения об ошибках и найдите дополнительные зависимости, которые могут отсутствовать. Иногда конкретные версии библиотек или конфигурации операционной системы могут вводить системы в замешательство.

К сожалению, Raspberry Pi может ограничивать некоторые функции из-за своей архитектуры, поэтому иногда рекомендуется использовать более мощный компьютер для разработки с последующим переносом на Raspberry Pi.

В случае любых последующих вопросов или необходимости более детальной информации, не стесняйтесь обращаться. Удачи в разработке!

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

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