nie można zainstalować npm na Ubuntu

37

Próbowałem zainstalować nodejs i npm na Ubuntu 12.04. Zrobiłem to i zrobiłem to. Teraz nie mogłem zainstalować npm na komputerze.

sudo apt-get install npm

Co mi to daje

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.
użytkownik3297351
źródło
3
Myślę, że nikt nie mówi, ale apt-get install npmnależy unikać (!). Sprawdź, czy npm -vjest tam wcześniej, aby spróbować zainstalować .... (czytaj więcej poniżej w odpowiedzi @ MarcoCerpi)
Peter Krauss

Odpowiedzi:

34

Wygląda na to, że prawdopodobnie zainstalowałeś pri chris-lea node.js, co jest w porządku. Jednak nie instalujesz npm z tego ppa, ponieważ psuje to działanie pakietów debian. Zamiast tego po prostu zainstaluj nodejs. Po zainstalowaniu uruchom npm -v, powinieneś zobaczyć, że jest już zainstalowany. Jeśli nie korzystałeś z chris-lea ppa, zaktualizuj swoje pytanie na jakiej stronie jesteś zalogowany w Google, aby dowiedzieć się, jak zainstalować nodejs na Ubuntu.

Marco Ceppi
źródło
7
Jak uruchomiłby „npm -v”, gdyby nie mógł zainstalować npm ...?
Mariano Argañaraz
10
„Modern” apt-get install nodejsrównież npmzaktualizował instalację, więc rozumiem, że apt-get install npmnależy tego unikać (!).
Peter Krauss,
1
Zobacz stackoverflow.com/a/34244847/287948
Peter Krauss,
Usunąłem PPA i otrzymałem `npm: Depends: node-gyp (> = 0.10.9), ale nie zostanie on zainstalowany`
Jonathan
7

Spróbuj zainstalować NodeJ w następujący sposób:

sudo apt-get install nodejs

Ponieważ NodeJs instaluje węzeł i npm

Mariano Argañaraz
źródło
2
nie działa z 16.04
ZZ 5
nie jest npmzainstalowany z tym ...
Gigiux
1

Rozwiązałem ten problem, postępując zgodnie z tą dokumentacją .

Wskaźniki do zapamiętania do pracy z npm:

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

Podczas tworzenia aplikacji, jeśli nodejs potrzebuje jakiegoś konkretnego modułu, uruchom

cd ~/nodejs
npm install modulename   #for example sendgrid

Czasami moduły muszą być instalowane globalnie; następnie użyj

sudo npm install modulename -g"

Aby usunąć moduł:

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

npm prune pomaga usunąć niezaspokojone zależności

użytkownik3297351
źródło
4
Nie może zainstalować npm mężczyzn, jak mógł dostać się do punktu 3 ?!
Mariano Argañaraz
0

Problem dotyczy rejestru, wykonaj to polecenie,

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

Pracuję w ten sposób, sprawdź, czy działa dla ciebie

Jay Patel
źródło
4
Jak uruchomiłby „npm config ...”, gdyby nie mógł zainstalować npm ...?
Mariano Argañaraz
Po uruchomieniu sudo apt-get install npmpolecenia daje „niezrealizowany błąd zależności”. Zauważam, że błąd npm jest już zainstalowany, wystarczy ustawić adres rejestru.
Jay Patel,
0

Najpierw musisz zainstalować PPA, aby uzyskać dostęp do jego zawartości:

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

(To dotyczy wersji 9, która jest najnowszą wersją w momencie pisania).

I wtedy

sudo apt-get install nodejs
faizan
źródło
0

Apt nie radzi sobie dobrze z konfliktami zależności, użyj przystawki lub umiejętności;

sudo aptitude install npm

Musiałem nacisnąć „nie” do pierwszego zaproponowanego rozwiązania, które nie obejmowało instalacji npm (to musi być błąd w umiejętnościach), a następnie drugie rozwiązanie, które nacisnąłem, yesaby sprawdzić, czy zainstalowano npm:

npm --version

Jonathan
źródło
0

Konflikt wersji ręcznie zainstalowanego npm i który jest dostarczany z najnowszymi nodejs.

Więc możesz spróbować usunąć nodejs, usunąć stary npm i ponownie zainstalować nowe nodejs, które są dostarczane z npm.

Sergey Nikishchenko
źródło
-2

Instalowanie nodejs zainstaluje npm, więc po prostu usuń nodejs, a następnie zainstaluj go ponownie:

sudo apt-get remove nodejs
Russo
źródło