Impossible d'installer npm sur Ubuntu

37

J'ai essayé d'installer nodejs et npm sur Ubuntu 12.04. J'ai googlé et l'ai fait. Maintenant, je ne pouvais pas installer NPM sur la machine.

sudo apt-get install npm

Ce qui me donne ça

The following packages have unmet dependencies:
 npm : Depends: nodejs but it is not going to be installed
       Depends: nodejs-dev
       Depends: node-request but it is not going to be installed
       Depends: node-mkdirp but it is not going to be installed
       Depends: node-minimatch but it is not going to be installed
       Depends: node-semver but it is not going to be installed
       Depends: node-ini but it is not going to be installed
       Depends: node-graceful-fs but it is not going to be installed
       Depends: node-abbrev but it is not going to be installed
       Depends: node-nopt but it is not going to be installed
       Depends: node-fstream but it is not going to be installed
       Depends: node-rimraf but it is not going to be installed
       Depends: node-tar 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.
utilisateur3297351
la source
3
Je pense que personne ne dit, mais apt-get install npmdoit être éviter (!). Vérifiez si npm -vest là avant d'essayer d'installer .... (lire la suite ci-dessous à la réponse de @ MarcoCerpi)
Peter Krauss

Réponses:

35

On dirait que vous avez probablement installé le chpa-lea node.js ppa qui convient. Cependant, vous n'installez pas npm à partir de ce ppa, car il perturbe le fonctionnement des paquets debian. Au lieu de cela, installez simplement nodejs. Une fois installé, lancez npm -vvous devriez voir qu'il est maintenant installé. Si vous n'avez pas utilisé chris-lea ppa, mettez à jour votre question sur la page Web que vous avez trouvée sur Google pour savoir comment installer nodejs sur Ubuntu.

Marco Ceppi
la source
7
Comment pourrait-il exécuter "npm -v" s'il ne peut pas installer npm ...?
Mariano Argañaraz
10
Le "moderne" apt-get install nodejsfait aussi l' npminstallation mise à jour, donc, je comprends cela apt-get install npmdoit être évité (!).
Peter Krauss
J'ai retiré mon PPA et j'ai eu `npm: Dépend de: node-gyp (> = 0.10.9) mais il ne va pas être installé`
Jonathan
7

Essayez d'installer NodeJs comme ceci:

sudo apt-get install nodejs

Depuis que NodeJs installe node et npm

Mariano Argañaraz
la source
2
ne fonctionne pas avec 16.04
ZZ 5
pas npminstallé avec cela ...
Gigiux
1

J'ai résolu ce problème en suivant cette documentation .

Pointeurs à retenir pour travailler avec npm:

mkdir ~/nodejs/ && cd ~/nodejs
sudo apt-get install npm
npm install
npm update

Lors du développement d’applications, si nodejs a besoin d’un module particulier, lancez

cd ~/nodejs
npm install modulename   #for example sendgrid

Parfois, les modules doivent s’installer globalement; puis utiliser

sudo npm install modulename -g"

Pour supprimer un module:

cd ~/nodejs
npm uninstall modulename          # if locally installed or 
sudo npm uninstall modulename -g  # if globally installed

npm prune aide à supprimer les dépendances non résolues

utilisateur3297351
la source
4
Il ne peut pas installer les hommes npm, comment pourrait-il arriver au point 3?!
Mariano Argañaraz
0

Le problème est le registre, exécutez cette commande,

npm config set registry http://registry.npmjs.org/

Je travaille de cette façon, vérifie que ça marche pour toi

Jay Patel
la source
4
Comment exécuterait-il "npm config ..." s'il ne pouvait pas installer npm ...?
Mariano Argañaraz
Quand il exécute la sudo apt-get install npmcommande, il donne une "erreur de dépendance non satisfaite". Je remarque l’erreur npm déjà installée, il suffit de définir l’URL du registre.
Jay Patel
0

Tout d’abord, vous devez installer le PPA afin d’avoir accès à son contenu:

curl -sL https://deb.nodesource.com/setup_9.x | sudo bash -

(Ceci pour la version 9, qui est la dernière version au moment de la rédaction).

Et alors

sudo apt-get install nodejs
faizan
la source
0

Apt ne gère pas bien les conflits de dépendances, utilisez snap ou aptitude;

sudo aptitude install npm

J'ai dû appuyer sur "non" à la première solution proposée, qui n'incluait pas l'installation de npm (ce qui doit être un bogue dans aptitude), puis la deuxième solution sur laquelle j'ai appuyé yes pour que npm check soit installée:

npm --version

Jonathan
la source
0

Conflit de version de npm installé manuellement et fourni avec les derniers nodejs.

Vous pouvez donc essayer de supprimer nodejs, supprimer l'ancien npm et installer à nouveau le nouveau nodejs fourni avec npm.

Sergey Nikishchenko
la source
-2

L'installation de nodejs installera npm, supprimez donc nodejs puis réinstallez-le:

sudo apt-get remove nodejs
Russo
la source