Вопрос или проблема
Мне нужно установить npm
в моем дистрибутиве suse, поэтому я, естественно, следовал https://software.opensuse.org/download.html?project=devel%3Alanguages%3Anodejs&package=nodejs и https://nodejs.org/en/download/package-manager/#opensuse-and-sle, но я получил ту же ошибку и не смог найти способ ее исправить.
Подробности
$ rpm -qf /etc/SuSE-release /etc/issue
sles-release-11.4-1.109
$ sudo zypper ar http://download.opensuse.org/repositories/devel:/languages:/nodejs/SLE_11_SP4/ Node.js
$ sudo zypper refresh
$ sudo zypper clean
$ sudo zypper update
$ sudo zypper install nodejs
Загрузка данных репозитория… Чтение установленных пакетов… Разрешение зависимостей пакетов…
Проблема: ничего не предоставляет openssl1, необходимый для nodejs-6.9.1-130.1.x86_64
Решение 1: не устанавливать nodejs-6.9.1-130.1.x86_64 Решение 2:
сломать nodejs-6.9.1-130.1.x86_64, игнорируя некоторые его зависимостиВыберите одно из вышеуказанных решений по номеру или отмените [1/2/c] (c):
openssl для SLES11SP4 версии 0.98
вам нужно добавить Модуль БЕЗОПАСНОСТИ для SLES11SP4, который предоставляет openssl1
sudo zypper ar http://download.opensuse.org/repositories/devel:/languages:/nodejs/SLE_12_SP3/devel:languages:nodejs.repo
sudo zypper refresh
sudo zypper in nodejs
В зависимости от вашей ОС выберите URL:
http://download.opensuse.org/repositories/devel:/languages:/nodejs/
Ответ или решение
Проблемы при установке Node.js на dнistroбуцию SUSE и их решения
Установка Node.js (и, соответственно, npm) на операционную систему SUSE может вызвать ряд проблем, особенно если вы используете более старые версии, такие как SLES 11 SP4. Данная статья направлена на исследование конкретной проблемы зависимостей и последующее решение, что поможет вам успешно установить Node.js и npm.
Описание проблемы
При попытке установить Node.js следующими командами:
sudo zypper ar http://download.opensuse.org/repositories/devel:/languages:/nodejs/SLE_11_SP4/ Node.js
sudo zypper refresh
sudo zypper clean
sudo zypper update
sudo zypper install nodejs
Вы сталкиваетесь с ошибкой, указывающей на отсутствие пакета openssl1
, необходимого для Node.js версии 6.9.1
. Ошибка выглядит следующим образом:
Problem: nothing provides openssl1 needed by nodejs-6.9.1-130.1.x86_64
Solution 1: do not install nodejs-6.9.1-130.1.x86_64
Solution 2: break nodejs-6.9.1-130.1.x86_64 by ignoring some of its dependencies
Как видно из приведённой информации, ваша система зависит от версии openssl
, которая отсутствует в стандартных репозиториях для SLES 11 SP4.
Причина проблемы
На SLES 11 SP4 используется устаревшая версия OpenSSL (0.98), которая не совместима с Node.js, который требует OpenSSL версии 1.x. Чтобы решить эту проблему, необходимо подключить дополнительные репозитории, которые обеспечивают данную версию OpenSSL.
Решение проблемы
Для успешной установки Node.js вам потребуется добавить модуль безопасности для вашей версии SLES. Вот шаги, которые помогут вам выполнить установку:
-
Добавление репозитория безопасности:
Выполните следующую команду для добавления репозитория, который содержит OpenSSL версии 1.x:
sudo zypper ar http://download.opensuse.org/repositories/devel:/languages:/nodejs/SLE_12_SP3/devel:languages:nodejs.repo
-
Обновление списка пакетов:
После добавления нового репозитория выполните команду обновления:
sudo zypper refresh
-
Установка Node.js и его зависимостей:
Теперь можно установить Node.js с помощью команды:
sudo zypper in nodejs
Заключение
Установка Node.js на SLES 11 SP4 требует дополнительных шагов для подключения необходимых зависимостей, таких как OpenSSL 1.x. Следуя изложенной инструкции, вы сможете успешно установить Node.js и его компоненты для дальнейшей разработки.
Если у вас возникли другие проблемы или вопросы по установке или работе с Node.js на SUSE, настоятельно рекомендуется обратиться к официальной документации или сообществу пользователей SUSE.