LINUX.ORG.RU

Не могу установить npm

 


0

1

Пытаюсь установить npm, выдаёт ошибку:

sudo apt install npm
Чтение списков пакетов… Готово
Построение дерева зависимостей… Готово
Чтение информации о состоянии… Готово         
Некоторые пакеты не могут быть установлены. Возможно, то, что вы просите,
неосуществимо, или же вы используете нестабильную версию дистрибутива, где
запрошенные вами пакеты ещё не созданы или были удалены из Incoming.
Следующая информация, возможно, вам поможет:

Следующие пакеты имеют неудовлетворённые зависимости:
 npm : Зависит: node-agent-base но он не будет установлен
       Зависит: node-aproba но он не будет установлен
       Зависит: node-archy но он не будет установлен
       Зависит: node-cacache но он не будет установлен
       Зависит: node-chalk но он не будет установлен
       Зависит: node-cli-table3
       Зависит: node-colors но он не будет установлен
       Зависит: node-columnify но он не будет установлен
       Зависит: node-debug но он не будет установлен
       Зависит: node-emoji-regex
       Зависит: node-got но он не будет установлен
       Зависит: node-graceful-fs но он не будет установлен
       Зависит: node-gyp но он не будет установлен
       Зависит: node-https-proxy-agent но он не будет установлен
       Зависит: node-mkdirp но он не будет установлен
       Зависит: node-ms но он не будет установлен
       Зависит: node-nopt но он не будет установлен
       Зависит: node-normalize-package-data но он не будет установлен
       Зависит: node-npm-package-arg но он не будет установлен
       Зависит: node-npmlog но он не будет установлен
       Зависит: node-read-package-json но он не будет установлен
       Зависит: node-rimraf но он не будет установлен
       Зависит: node-semver но он не будет установлен
       Зависит: node-ssri но он не будет установлен
       Зависит: node-string-width но он не будет установлен
       Зависит: node-strip-ansi но он не будет установлен
       Зависит: node-tar но он не будет установлен
       Зависит: node-validate-npm-package-name но он не будет установлен
       Зависит: node-which но он не будет установлен
       Зависит: node-write-file-atomic но он не будет установлен
       Зависит: nodejs:any (>= 10)
       Рекомендует: node-tap но он не будет установлен
E: Невозможно исправить ошибки: у вас зафиксированы сломанные пакеты.

Пробовал ставить по отдельности, часть из них установилось, часть была ошибка о сломанных пакетах. Пробовал исправить сломанные пакеты, но их не нашёл. При попытке повторно установить npm такая же ошибка как и выше.

node -v
v18.17.1
lsb_release -a
No LSB modules are available.
Distributor ID:	Linuxmint
Description:	Linux Mint 21.2
Release:	21.2
Codename:	victoria

Перемещено hobbit из general

Давай диагностику:

grep -v -e '^#' -e '^$' /etc/apt/sources.list
grep -vH -e '^#' -e '^$' /etc/apt/sources.list.d/*
LANG=C apt install -sf
for i in $(LANG=C apt list --installed 2>/dev/null | grep -v "^Listing..." | cut -f 2 -d / | cut -f 1 -d " " | cut -f 1 -d "," | sort | uniq); do echo $i; LANG=C apt list --installed 2>/dev/null | grep "/$i" | wc -l; done
LANG=C apt install -s node-agent-base node-aproba node-archy node-cacache node-chalk node-cli-table3 node-colors node-columnify node-debug node-emoji-regex node-got node-graceful-fs node-gyp node-https-proxy-agent node-mkdirp node-ms node-nopt node-normalize-package-data node-npm-package-arg node-npmlog node-read-package-json node-rimraf node-semver node-ssri node-string-width node-strip-ansi node-tar node-validate-npm-package-name node-which node-write-file-atomic nodejs node-tap

Тут 5 команд всего, нужны их выводы. Скорее всего, придется как с любым Dependency Hell пройтись по цепочке до первопричины.

Vsevolod-linuxoid ★★★★★
()
Последнее исправление: Vsevolod-linuxoid (всего исправлений: 2)
Ответ на: комментарий от symon2014

Хм, у меня сейчас тоже Mint, и правда:

seva@hp15:~$ apt policy npm
npm:
  Установлен: (отсутствует)
  Кандидат:   8.5.1~ds-1
  Таблица версий:
     8.5.1~ds-1 500
        500 http://mirror.yandex.ru/ubuntu jammy/universe amd64 Packages
        500 http://mirror.yandex.ru/ubuntu jammy/universe i386 Packages
seva@hp15:~$ apt policy nodejs
nodejs:
  Установлен: (отсутствует)
  Кандидат:   12.22.9~dfsg-1ubuntu3
  Таблица версий:
     12.22.9~dfsg-1ubuntu3 500
        500 http://mirror.yandex.ru/ubuntu jammy/universe amd64 Packages

Интересно, что там ТС в репозиториях навертел…

Vsevolod-linuxoid ★★★★★
()
Последнее исправление: Vsevolod-linuxoid (всего исправлений: 2)
Ответ на: комментарий от Vsevolod-linuxoid
fixftp@APC-linux:~/svelte$ grep -v -e '^#' -e '^$' /etc/apt/sources.list
fixftp@APC-linux:~/svelte$ grep -vH -e '^#' -e '^$' /etc/apt/sources.list.d/*
/etc/apt/sources.list.d/google-chrome.list:deb [arch=amd64] https://dl.google.com/linux/chrome/deb/ stable main
/etc/apt/sources.list.d/linuxuprising-libpng12-jammy.list:deb [signed-by=/etc/apt/keyrings/linuxuprising-libpng12-jammy.gpg] https://ppa.launchpadcontent.net/linuxuprising/libpng12/ubuntu jammy main
/etc/apt/sources.list.d/locale.list:deb http://live.linuxmint.com vanessa main
/etc/apt/sources.list.d/locale.list:deb-src http://live.linuxmint.com vanessa main
/etc/apt/sources.list.d/nodesource.list:deb [signed-by=/usr/share/keyrings/nodesource.gpg] https://deb.nodesource.com/node_18.x jammy main
/etc/apt/sources.list.d/nodesource.list:deb-src [signed-by=/usr/share/keyrings/nodesource.gpg] https://deb.nodesource.com/node_18.x jammy main
/etc/apt/sources.list.d/official-package-repositories.list:deb http://packages.linuxmint.com victoria main upstream import backport #id:linuxmint_main
/etc/apt/sources.list.d/official-package-repositories.list:deb http://archive.ubuntu.com/ubuntu jammy main restricted universe multiverse
/etc/apt/sources.list.d/official-package-repositories.list:deb http://archive.ubuntu.com/ubuntu jammy-updates main restricted universe multiverse
/etc/apt/sources.list.d/official-package-repositories.list:deb http://archive.ubuntu.com/ubuntu jammy-backports main restricted universe multiverse
/etc/apt/sources.list.d/official-package-repositories.list:deb http://security.ubuntu.com/ubuntu/ jammy-security main restricted universe multiverse
/etc/apt/sources.list.d/vivaldi.list:deb [arch=amd64] https://repo.vivaldi.com/stable/deb/ stable main
/etc/apt/sources.list.d/vscode.list:deb [arch=amd64,arm64,armhf] http://packages.microsoft.com/repos/code stable main
/etc/apt/sources.list.d/winehq-jammy.sources:Types: deb
/etc/apt/sources.list.d/winehq-jammy.sources:URIs: https://dl.winehq.org/wine-builds/ubuntu
/etc/apt/sources.list.d/winehq-jammy.sources:Suites: jammy
/etc/apt/sources.list.d/winehq-jammy.sources:Components: main
/etc/apt/sources.list.d/winehq-jammy.sources:Architectures: amd64 i386
/etc/apt/sources.list.d/winehq-jammy.sources:Signed-By: /etc/apt/keyrings/winehq-archive.key
/etc/apt/sources.list.d/yandex-browser.list:deb [arch=amd64] https://repo.yandex.ru/yandex-browser/deb stable main
fixftp@APC-linux:~/svelte$ LANG=C apt install -sf
[sudo] password for fixftp:  
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
fixftp@APC-linux:~/svelte$ for i in $(LANG=C apt list --installed 2>/dev/null | grep -v "^Listing..." | cut -f 2 -d / | cut -f 1 -d " " | cut -f 1 -d "," | sort | uniq); do echo $i; LANG=C apt list --installed 2>/dev/null | grep "/$i" | wc -l; done
LANG=C apt install -s node-agent-base node-aproba node-archy node-cacache node-chalk node-cli-table3 node-colors node-columnify node-debug node-emoji-regex node-got node-graceful-fs node-gyp node-https-proxy-agent node-mkdirp node-ms node-nopt node-normalize-package-data node-npm-package-arg node-npmlog node-read-package-json node-rimraf node-semver node-ssri node-string-width node-strip-ansi node-tar node-validate-npm-package-name node-which node-write-file-atomic nodejs node-tap
jammy
2979
jammy-updates
795
now
26
stable
3
unknown
2
vanessa
3
victoria
171
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Note, selecting 'node-cli-table' instead of 'node-cli-table3'
Note, selecting 'node-string-width' instead of 'node-emoji-regex'
nodejs is already the newest version (18.17.1-deb-1nodesource1).
node-agent-base is already the newest version (6.0.2+~cs5.4.2-1).
node-aproba is already the newest version (2.0.0-2).
node-archy is already the newest version (1.0.0-4).
node-chalk is already the newest version (4.1.2-1).
node-cli-table is already the newest version (0.3.11+~cs0.13.3-1).
node-colors is already the newest version (1.4.0-3).
node-columnify is already the newest version (1.5.4+~1.5.1-1).
node-debug is already the newest version (4.3.2+~cs4.1.7-1).
node-got is already the newest version (11.8.3+~cs58.7.37-1).
node-graceful-fs is already the newest version (4.2.4+repack-1).
node-https-proxy-agent is already the newest version (5.0.0+~cs8.0.0-3).
node-ms is already the newest version (2.1.3+~cs0.7.31-2).
node-normalize-package-data is already the newest version (3.0.3+~2.4.1-1).
node-npm-package-arg is already the newest version (8.1.5-1).
node-npmlog is already the newest version (6.0.1+~4.1.4-1).
node-read-package-json is already the newest version (4.1.1-1).
node-rimraf is already the newest version (3.0.2-1).
node-semver is already the newest version (7.3.5+~7.3.8-1).
node-ssri is already the newest version (8.0.1-2).
node-string-width is already the newest version (4.2.3+~cs13.2.3-1).
node-strip-ansi is already the newest version (6.0.1-1).
node-validate-npm-package-name is already the newest version (3.0.0-4).
node-write-file-atomic is already the newest version (3.0.3+~3.0.2-1).
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 node-gyp : Depends: nodejs:any
 node-js-yaml : Depends: node-esprima but it is not going to be installed
                Depends: nodejs:any
 node-mkdirp : Depends: nodejs:any
 node-nopt : Depends: nodejs:any
 node-tap-mocha-reporter : Depends: nodejs:any
 node-tap-parser : Depends: nodejs:any
 node-which : Depends: nodejs:any
E: Unable to correct problems, you have held broken packages.

TopsyCrets
() автор топика
Ответ на: комментарий от TopsyCrets

Не могу установить npm (комментарий) — я полагаю, он прав. Проблема в том, что ты пытаешься установить по сути ненужный и несовместимый пакет. Удали те пакеты, что из репозитория Ubuntu, и оставь только те, что из репозитория Node.

Vsevolod-linuxoid ★★★★★
()

Какие репозитории ты подключил и какие deb пакеты ты ещё ставил насильно руками?

Проблемы как у тебя возникают, если подключены репозитории от другого дистрибутива / версии дистрибутива или ставились deb пакеты через dpkg -i насильно руками от другого дистрибутива / релиза дистрибутива.

Так что, давай рассказывай, что делал?

В идеале нужно отключить все несовместимые с релизом твоей системы репозитории и удалить сторонние пакеты.

А потом подключить правильные репозитории и поставить как надо.

kostik87 ★★★★★
()
Ответ на: комментарий от Dimez

Скажу сразу, что с Linux Mint я почти не работал.

Но навскидку

https://ppa.launchpadcontent.net/linuxuprising/libpng12/ubuntu jammy main
deb http://live.linuxmint.com vanessa main
deb http://packages.linuxmint.com victoria main upstream import backport #id:linuxmint_main
deb [arch=amd64] https://repo.vivaldi.com/stable/deb/ stable main
deb [arch=amd64] https://dl.google.com/linux/chrome/deb/ stable main

Тут и Vanessa и Victoria и просто deb репозитории, которые вообще могут оказаться от Debian.

По поводу Ванессы и Виктории, не спорю, может это норма, но как минимум странно.

А вот это число пакетов по резиториям / релизам:

jammy
2979
jammy-updates
795
now
26
stable
3
unknown
2
vanessa
3
victoria
171

Наводят на мысли 3 пакета поставленные неизвестно откуда и 3 пакета от Ванессы.

Так что думаю, что проблемы с непонятно как подключенными репозиториями и пакетами, поставленными через dpkg -i имеются, ну либо как минимум с неизвестного, ныне отключенного репозитория.

Чистить систему надо.

kostik87 ★★★★★
()
Последнее исправление: kostik87 (всего исправлений: 1)
Ответ на: комментарий от kostik87

Тогда внимательно прочти то, что я написал выше.

Я внимательно прочитал. Советую тебе тоже самое - прочитать то, что написал я выше :)

Убунту тоже такое себе. Я использую Debian.

Разница между ubuntu и debian минимальная.

Dimez ★★★★★
()
Ответ на: комментарий от Dimez

Я вижу, что вижу, что ты написал, что в составе подключенного репозитория nodesource уже есть npm и какой версии.

Но у автора темы точно накручено с репозиториями и есть установленные непонятного из какого репозитория пакеты - это не порядок.

Разница между ubuntu и debian минимальная.

Не соглашусь. В Ubuntu понапихали snap пакетов, софт из которых не умеет работать с вводом системы в домен, если имя пользователя, а точнее домашняя директория вида user@domain. По умолчанию netplan формат настройки сети. Для автоматизации это удобно отчасти. Установлено больше не нужных пакетов и отсутствуют нужные по умолчанию. В целом система тяжелее.

kostik87 ★★★★★
()
Ответ на: комментарий от kostik87

Но у автора темы точно накручено с репозиториями и есть установленные непонятного из какого репозитория пакеты - это не порядок.

У автора всё нормально, просто не надо ставить пакет npm.

В Ubuntu понапихали snap пакетов

Живу на бубунте без snap вообще.

софт из которых не умеет работать с вводом системы в домен

Ужасно…

Dimez ★★★★★
()
Ответ на: комментарий от Dimez

У автора всё нормально, просто не надо ставить пакет npm.

Нет, у автора не всё нормально. Если в системе нет ошибок в настройке репозиториев и не установлено сторонних пакетов не пойми откуда, то не будет вот таких ошибок:


Следующие пакеты имеют неудовлетворённые зависимости:
 npm : Зависит: node-agent-base но он не будет установлен
       Зависит: node-aproba но он не будет установлен
       Зависит: node-archy но он не будет установлен
       Зависит: node-cacache но он не будет установлен
       Зависит: node-chalk но он не будет установлен
       Зависит: node-cli-table3
       Зависит: node-colors но он не будет установлен
       Зависит: node-columnify но он не будет установлен
       Зависит: node-debug но он не будет установлен
       Зависит: node-emoji-regex
       Зависит: node-got но он не будет установлен
       Зависит: node-graceful-fs но он не будет установлен
       Зависит: node-gyp но он не будет установлен
       Зависит: node-https-proxy-agent но он не будет установлен
       Зависит: node-mkdirp но он не будет установлен
       Зависит: node-ms но он не будет установлен
       Зависит: node-nopt но он не будет установлен
       Зависит: node-normalize-package-data но он не будет установлен
       Зависит: node-npm-package-arg но он не будет установлен
       Зависит: node-npmlog но он не будет установлен
       Зависит: node-read-package-json но он не будет установлен
       Зависит: node-rimraf но он не будет установлен
       Зависит: node-semver но он не будет установлен
       Зависит: node-ssri но он не будет установлен
       Зависит: node-string-width но он не будет установлен
       Зависит: node-strip-ansi но он не будет установлен
       Зависит: node-tar но он не будет установлен
       Зависит: node-validate-npm-package-name но он не будет установлен
       Зависит: node-which но он не будет установлен
       Зависит: node-write-file-atomic но он не будет установлен
       Зависит: nodejs:any (>= 10)
       Рекомендует: node-tap но он не будет установлен

И пакетов, не принадлежащих ни к одному из репозиториев тоже не будет:

unknown
2

Живу на бубунте без snap вообще.

Поздравляю. У тебя видимо firefox стоит не из штатного репозитория и часть пакетов, которые в Ubuntu поставляются только в виде SNAP пакетов ты тоже поставил иным способом. Т.е. ушёл от штатного механизма системы и используешь другой способ.

Это не есть хорошо, но возможно, хотя и неправильно. И твоя система ближе к возникновению проблем, аналогичных проблемам автора.

Ужасно… Соглашусь, муть ещё та.

kostik87 ★★★★★
()
Ответ на: комментарий от kostik87

У тебя видимо firefox стоит не из штатного репозитория

Да

и часть пакетов, которые в Ubuntu поставляются только в виде SNAP пакетов

Не установлены.

Это не есть хорошо, но возможно, хотя и неправильно.

Это и хорошо и правильно :)

Dimez ★★★★★
()
Ответ на: комментарий от kostik87

Бред какой-то.

Проблемы возникают тогда, когда голова не понимает, что делают ручонки.

Проблемы ТСа от этого.

Сами по себе, они от того что в «бубунте всё из снапа, и надо вкорячивать что-то левое руками и ещё нештатно» не появятся. Во-первых, только ФФ, во-вторых те же авторы делают PPA и всё там штатно, в-третьих, если ты понимаешь, что делаешь, не лезешь куда не надо по советам васянов типа лоровских, используешь банальный apt pinning и тд все норм с пакетами.
Взамен, со стороны Бубунты, неплохая поддержка со стороны производителей ПО. Учитывая ещё что это почти 1 в 1 дебиан.

mrjaggers
()
Ответ на: комментарий от mrjaggers

Ну да я рукожоп :)

Я вспомнил. Когда то давно, мне потребовался для чего то именно nodejs 18. Я тогда поставил его, решил свой вопрос и забыл об этом. А теперь из за этого обнаружилась проблема.

  • Удалил nodejs 18
  • Удалил его репозиторий
  • Поставил из стандартного репозитория nodejs 12
  • Поставил npm 8

Всем спасибо за помощь!

TopsyCrets
() автор топика