Kann npm nicht installieren - Sie können Probleme nicht beheben, weil Sie defekte Pakete haben?

27

Ich versuche, meine nodejs auf 7.6 zu aktualisieren, aber es ist fehlgeschlagen. Jetzt habe ich nach der Neuinstallation von Node 6.10 ein neues Problem:

$ sudo apt-get purge nodejs npm
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Package 'npm' is not installed, so not removed
The following packages were automatically installed and are no longer required:
  linux-headers-4.8.0-40 linux-headers-4.8.0-40-generic linux-image-4.8.0-40-generic linux-image-extra-4.8.0-40-generic
Use 'sudo apt autoremove' to remove them.
The following packages will be REMOVED
  nodejs*
0 to upgrade, 0 to newly install, 1 to remove and 53 not to upgrade.
After this operation, 51.7 MB disk space will be freed.
Do you want to continue? [Y/n] y
(Reading database ... 278133 files and directories currently installed.)
Removing nodejs (6.9.5-1nodesource1~yakkety1) ...
Processing triggers for man-db (2.7.5-1) ...
(Reading database ... 274476 files and directories currently installed.)
Removing nodejs (6.9.5-1nodesource1~yakkety1) ...
Purging configuration files for nodejs (6.9.5-1nodesource1~yakkety1) ...
dpkg: warning: while removing nodejs, directory '/usr/lib/node_modules' not empty so not removed

Warum heißt es Package 'npm' is not installed, so not removed? Ich habe Npm verwendet, um viele Node-Pakete für meine Projekte zu installieren!

Ich ignoriere den Fehler und fahre mit der Installation von Knoten 7.6 fort:

$ curl -sL https://deb.nodesource.com/setup_7.6 | sudo -E bash - 
bash: line 1: html: No such file or directory
bash: line 2: syntax error near unexpected token `<'
'ash: line 2: `<head><title>404 Not Found</title></head>

Also bin ich auf Knoten 6.x zurückgefallen. Aber ich kann npm nicht mehr installieren:

$ sudo apt-get install npm
Reading package lists... Done
Building dependency tree       
Reading state information... Done
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.
 npm : Depends: nodejs but it is not going to be installed
       Depends: node-abbrev (>= 1.0.4) but it is not going to be installed
       Depends: node-ansi (>= 0.3.0-2) but it is not going to be installed
       Depends: node-ansi-color-table but it is not going to be installed
       Depends: node-archy but it is not going to be installed
       Depends: node-block-stream but it is not going to be installed
       Depends: node-fstream (>= 0.1.22) but it is not going to be installed
       Depends: node-fstream-ignore but it is not going to be installed
       Depends: node-github-url-from-git but it is not going to be installed
       Depends: node-glob (>= 3.1.21) but it is not going to be installed
       Depends: node-graceful-fs (>= 2.0.0) but it is not going to be installed
       Depends: node-inherits but it is not going to be installed
       Depends: node-ini (>= 1.1.0) but it is not going to be installed
       Depends: node-lockfile but it is not going to be installed
       Depends: node-lru-cache (>= 2.3.0) but it is not going to be installed
       Depends: node-minimatch (>= 0.2.11) but it is not going to be installed
       Depends: node-mkdirp (>= 0.3.3) but it is not going to be installed
       Depends: node-gyp (>= 0.10.9) but it is not going to be installed
       Depends: node-nopt (>= 3.0.1) but it is not going to be installed
       Depends: node-npmlog but it is not going to be installed
       Depends: node-once but it is not going to be installed
       Depends: node-osenv but it is not going to be installed
       Depends: node-read but it is not going to be installed
       Depends: node-read-package-json (>= 1.1.0) but it is not going to be installed
       Depends: node-request (>= 2.25.0) but it is not going to be installed
       Depends: node-retry but it is not going to be installed
       Depends: node-rimraf (>= 2.2.2) but it is not going to be installed
       Depends: node-semver (>= 2.1.0) but it is not going to be installed
       Depends: node-sha but it is not going to be installed
       Depends: node-slide but it is not going to be installed
       Depends: node-tar (>= 0.1.18) but it is not going to be installed
       Depends: node-underscore but it is not going to be installed
       Depends: node-which but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

Irgendwelche Ideen?

Laukok
quelle
2
Bitte versuchen Sie dies sudo apt install -fund versuchen Sie es dann erneut!
George Udosen

Antworten:

41

Ich hatte das gleiche Problem mit npm und musste die folgenden Pakete in der angegebenen Reihenfolge installieren:

sudo apt install libssl1.0-dev
sudo apt install nodejs-dev
sudo apt install node-gyp
sudo apt install npm

Hoffe das hilft

dvillaj
quelle
1
Ich habe ein paar Stunden damit zu kämpfen und das hat wie ein Zauber gewirkt. Vielen Dank!
Desveladisimo
(Auf Kubuntu 18.04) Ich hatte zuvor libssl-dev installiert, was libssl1.1 entspricht, aber npm erfordert anscheinend 1.0. Ich musste libssl-dev entfernen und durch libssl1.0-dev ersetzen, und alles funktionierte dann einwandfrei. Die zutreffenden Fehler waren nicht hilfreich, um festzustellen, was falsch war. Ihre Antwort war also ein Lebensretter.
Richard Hussong
Ja! Vielen Dank! (Ubuntu 18.04.3 LTS)
Toni Homedes i Saun
Vielen Dank, es hilft mir
Muthusamy
34

Ich hatte das gleiche Problem mit npm.

Ich schlage vor, dass Sie aptitude installieren, um Konflikte zu lösen

sudo apt install aptitude

dann installiere dein Paket mit aptitude

sudo aptitude install npm
Shakirah
quelle
1
Die beste Lösung muss gefunden werden, wenn ein unerfüllter Abhängigkeitsfehler angezeigt wird
Rj_Innocent_Coder
Wirklich toll, das zu haben. Dies löste das Problem
Jerrychayan
Ich hatte ein Abhängigkeitsproblem. Einzige Lösung, die ich finden konnte. Vielen Dank.
Karjedavpalaa