Я пытаюсь установить npm, и я нашел это решение .
Я запускаю aptitude install npm
, и предлагаемое решение:
The following packages have unmet dependencies:
libssl-dev : Depends: libssl1.1 (= 1.1.1f-1ubuntu2)
but 1.1.1g-1+ubuntu18.04.1+deb.sury.org+1 is installed
Keep the following packages at their current version:
1) libnode-dev [Not Installed]
2) libssl-dev [Not Installed]
3) node-gyp [Not Installed]
4) npm [Not Installed]
Accept this solution? [Y/n/q/?]
В основном, предлагается понизить версию, но какое влияние это окажет на мою систему, если я понижу libssl1.1 до libssl1.0?
Редактировать: эта проблема возникла после обновления Ubuntu 18.04 до 20.04. Решение Дана Скали работает, и я также предоставил еще один вариант в комментариях с панели запуска, где он немного более детален для моей конкретной ситуации.
Похоже, у вас libssl установлен через PPA, а не из обычных источников Ubuntu. Если вы выполните apt search --names-only libssl
, это должно подтвердить это. Предлагается снизить рейтинг с g до f, а не с 1.1 до 1.0: изменения между этими версиями перечислены здесь и кажутся мне довольно незначительными:
Изменения между 1.1.1f и 1.1.1g [21 апреля 2020]
*) Исправлена ошибка сегментации в SSL_check_chain ()
Серверные или клиентские приложения, которые вызывают функцию SSL_check_chain () во время или после рукопожатия TLS 1.3 может произойти сбой из-за пустого указателя разыменование в результате неправильной обработки расширение TLS "signature_algorithms_cert". Сбой происходит, если недействительный или неизвестный алгоритм подписи получен от партнера. Это могло, это может быть злоумышленником в атаке типа «отказ в обслуживании». (CVE-2020-1967) [Бенджамин Кадук]*) Добавлен код AES consttime для конфигураций без asm
добавлена дополнительная поддержка AES с постоянным временем при сборке openssl для no-asm. Включить с помощью: ./config no-asm -DOPENSSL_AES_CONST_TIME Отключить с помощью: ./config no-asm -DOPENSSL_NO_AES_CONST_TIME В настоящее время эта функция по умолчанию отключена. Он будет включен по умолчанию в 3.0. [Бернд Эдлингер]
Готовы ли вы принять, что ухудшенная способность для npm зависит от вас.
Поскольку npm
зависит от узла-gyp, который зависит от libnode-dev, который зависит от libssl-dev, и здесь возникает проблема, libssl-dev
зависит от libssl1.1 versoin 1.1.1f-1ubuntu2
, в то время как у вас установлена более новая версия libssl1.1 версии 1.1.1g-1 + ubuntu18.04.1 + deb. sury.org + 1
Таким образом, в качестве обходного пути, вы можете воспользоваться предложением Dan Scally , понизив g до f, как показано ниже
sudo apt install libssl1.1=1.1.1f-1ubuntu2
. Затем вы сможете установить npm
sudo apt install npm
It. работает со мной без проблем.