tidak dapat menginstal npm di ubuntu

37

Mencoba menginstal nodejs dan npm di ubuntu 12.04. Saya mencari di Google dan melakukannya. Sekarang, saya tidak dapat menginstal npm di mesin.

sudo apt-get install npm

Yang memberi saya ini

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.
pengguna3297351
sumber
3
Saya pikir tidak ada yang mengatakan, tetapi apt-get install npmharus dihindari (!). Periksa apakah npm -vada di sana sebelumnya untuk mencoba menginstal .... (baca lebih lanjut di bawah ini di jawaban @ MarcoCerpi)
Peter Krauss

Jawaban:

34

Ini sepertinya Anda mungkin menginstal chris-lea node.js ppa yang baik-baik saja. Namun, Anda tidak menginstal npm dari ppa itu karena merusak cara kerja paket debian. Sebaliknya, instal saja nodejs. Setelah terinstal, jalankan npm -vAnda akan melihatnya sekarang terinstal. Jika Anda tidak menggunakan chris-lea ppa, perbarui pertanyaan Anda di laman web apa yang Anda Google cari untuk mengetahui cara memasang nodejs di Ubuntu.

Marco Ceppi
sumber
7
Bagaimana dia menjalankan "npm -v" jika dia tidak dapat menginstal npm ...?
Mariano Argañaraz
10
"Modern" apt-get install nodejsjuga npmmemperbarui instalasi, jadi, saya mengerti bahwa apt-get install npmharus dihindari (!).
Peter Krauss
Saya menghapus PPA saya dan saya mendapat `npm: Tergantung: node-gyp (> = 0.10.9) tetapi tidak akan diinstal`
Jonathan
7

Coba instal NodeJs seperti ini:

sudo apt-get install nodejs

Karena NodeJs menginstal node dan npm

Mariano Argañaraz
sumber
2
tidak bekerja dengan 16,04
ZZ 5
tidak npmterpasang dengan ini ...
Gigiux
1

Saya memecahkan masalah ini dengan mengikuti dokumentasi ini .

Pointer yang perlu diingat untuk bekerja dengan npm:

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

Saat mengembangkan aplikasi, jika nodejs memerlukan modul tertentu kemudian jalankan

cd ~/nodejs
npm install modulename   #for example sendgrid

Terkadang, modul perlu dipasang secara global; lalu gunakan

sudo npm install modulename -g"

Untuk menghapus modul:

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

npm prune membantu menghapus dependensi yang tidak terpenuhi

pengguna3297351
sumber
4
Dia tidak dapat menginstal npm pria, bagaimana dia bisa sampai ke titik 3 ?!
Mariano Argañaraz
0

Masalahnya adalah registri, jalankan perintah ini,

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

Saya bekerja dengan cara ini, periksa untuk Anda

Jay Patel
sumber
4
Bagaimana dia menjalankan "npm config ..." jika dia tidak dapat menginstal npm ...?
Mariano Argañaraz
Ketika dia menjalankan sudo apt-get install npmperintahnya, berikan "unmet dependency error". Saya perhatikan kesalahan npm sudah diinstal hanya perlu mengatur url registri.
Jay Patel
0

Pertama, Anda perlu menginstal PPA untuk mendapatkan akses ke kontennya:

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

(Ini untuk versi 9, yang merupakan versi terbaru pada saat penulisan).

Lalu

sudo apt-get install nodejs
faizan
sumber
0

Apt tidak menangani konflik ketergantungan dengan baik, gunakan snap atau aptitude;

sudo aptitude install npm

Saya harus menekan "tidak" ke solusi pertama yang diusulkan, yang tidak termasuk menginstal npm (yang pasti bug dalam aptitude) kemudian solusi kedua yang saya tekan yesuntuk hKemudian periksa npm diinstal:

npm --version

Jonathan
sumber
0

Konflik versi dari npm yang diinstal secara manual dan yang disertai dengan nodejs terbaru.

Jadi Anda bisa mencoba untuk menghapus nodejs, menghapus npm lama dan menginstal nodejs baru lagi yang datang dengan npm.

Sergey Nikishchenko
sumber
-2

Menginstal nodejs akan menginstal npm, jadi hapus saja nodejs lalu pasang kembali:

sudo apt-get remove nodejs
Russo
sumber