Bagaimana cara menghapus modul npm di node js?

1131

Seperti biasa dikenal, modul NPM dapat diinstal dengan menjalankan perintah sederhana: npm install <module_name>.

Saya telah menginstal beberapa modul yang tidak saya gunakan lagi dan saya hanya ingin melepasnya. Saya punya beberapa pertanyaan tentang ini:

  • Apakah kita memiliki perintah atau proses untuk menghapus modul dari root (seperti npm uninstall <module_name>) atau hanya akan menghapus file modul?

  • Bagaimana pengaruhnya terhadap kita jika kita menyimpan modul yang tidak digunakan?

Manish Kumar
sumber
2
Jika Anda ingin menghapus semua modul npm, buka di sini: stackoverflow.com/questions/9283472/…
daniel

Jawaban:

1730

Perintahnya sederhana npm uninstall <name>

Dokumen Node.js https://npmjs.org/doc/ memiliki semua perintah yang perlu Anda ketahui dengan npm.

Instalasi lokal akan berada di node_modules/direktori aplikasi Anda. Ini tidak akan memengaruhi aplikasi jika modul tetap ada tanpa referensi.

Namun, jika Anda menghapus paket global, aplikasi apa pun yang merujuknya akan macet.

Berikut ini beberapa pilihan:

npm uninstall <name>menghapus modul dari node_modulestetapi tidak memperbaruipackage.json

npm uninstall <name> --savejuga menghapusnya dari dependenciesdalampackage.json

npm uninstall <name> --save-devjuga menghapusnya dari devDependenciesdalampackage.json

npm uninstall -g <name> --save juga menghapusnya secara global

Menztrual
sumber
19
coba ini npm -g ls | grep -v 'npm@' | awk '/@/ {print $2}' | awk -F@ '{print $1}' | xargs npm -g rmuntuk menghapus semua modul yang terpasang secara global. jika Anda berada di windows maka Anda perlu menginstal Cygwin atau git untuk menjalankannya
Nur Rony
1
Untuk menghapus semua modul global: stackoverflow.com/questions/5926672/... Dan menghapus folder node_modules Untuk menghapus semua modul lokal hapus folder node_modules lokal
DanteTheSmith
1
Saya telah mencoba untuk menghapus [email protected] menggunakan semua perintah yang tercantum di atas, & masih ada
Steve Staple
20
npm uninstall <name> now removes the module from both package.json` dannode_modules
philip oghenerobo balogun
1
pada 2019, simpul 13 (saya percaya 10+ juga) menghapus paket dari package.json vianpm uninstall <name>
Maksim Shamihulau
86

Jika tidak berhasil, npm uninstall <module_name>coba secara global dengan mengetik -g.

Mungkin Anda hanya perlu melakukannya sebagai superUser / administrator dengan sudo npm uninstall <module_name>.

fuma
sumber
4
-gSangat membantu jika ada npm WARN uninstall.
Lorem Ipsum Dolor
49

Nah untuk memberikan jawaban yang lengkap untuk pertanyaan ini, ada dua metode : (misalnya kita memanggil modul yang diinstal sebagai module1)

  1. Untuk menghapus module1 tanpa mengubah package.json:

    npm uninstall module1

  2. Untuk menghapus module1 dengan mengubah package.json, dan menghapusnya dari dependensi di package.json:

    npm uninstall --save module1

Catatan: untuk menyederhanakan perintah yang disebutkan di atas, Anda dapat menggunakan -S bukannya --simpan , dan dapat menggunakan hapus , rm , r , un , putuskan tautan alih-alih hapus instalasi

Ehsan
sumber
Demi kelengkapan, seseorang harus berhati-hati apakah dia ingin menghapus ketergantungan GLOBAL atau LOKAL. Untuk global gunakan -g dengan yang di atas! Juga: Untuk menghapus semua modul global: stackoverflow.com/questions/5926672/... Dan menghapus folder node_modules Untuk menghapus semua modul lokal hapus folder node_modules lokal
DanteTheSmith
28

Saya hanya menginstal stylus secara default di bawah home dir saya, jadi saya gunakan saja npm uninstall stylusuntuk melepasnya, atau Anda dapat mencobanya npm rm <package_name>.

GrahamLe
sumber
17

Untuk menghapus modul modul:

npm uninstall <module_name>  

Ini akan menghapus modul dari node_modules, tetapi tidak dari package.json. Jadi ketika kita menginstal npm lagi akan mengunduh modul.

Jadi untuk menghapus modul dari package.json gunakan:

npm uninstall <module_name> --save  

Ini juga menghapus ketergantungan dari package.json.

Dan jika Anda ingin menghapus modul global apa pun, Anda dapat menggunakan:

npm -g uninstall <module_name> --save 

Ini akan menghapus ketergantungan secara global.

Wisnu Mishra
sumber
7

Untuk menghapus paket secara node_modules/massal, Anda juga bisa menghapusnya package.json, menyimpannya, dan kemudian berjalan npm prunedi terminal.

Ini akan menghapus paket-paket itu, yang ada di sistem file, tetapi tidak digunakan / dideklarasikan package.json.

PS> Ini sangat berguna pada Windows, karena Anda mungkin sering mengalami masalah karena tidak dapat menghapus beberapa file karena "melebihi batas panjang jalur".

indigo terakhir
sumber
6

Saya menemukan ini dengan cara yang sulit, bahkan jika itu tampak jelas.

Saya awalnya mencoba untuk loop melalui direktori node_modules berjalan npm uninstall module-namedengan simpel untuk loop dalam skrip. Saya menemukan itu tidak akan berfungsi jika Anda memanggil path lengkap, misalnya

npm uninstall module-name

sedang bekerja, tapi

npm uninstall /full/path/to/node_modules/module-name 

tidak bekerja.

kayleeFrye_onDeck
sumber
6

Anda juga dapat menjalankan yang berikut ini sebagai singkatan:

npm un packageName atau npm rm packageName

Catatan: Tambahkan -gdi akhir perintah untuk menghapus instalasi paket global.

Mwiza
sumber
4

Untuk Pengguna Windows - Jika Anda ingin menghapus semua modul simpul yang diinstal sekaligus:

  • Buka PowerShell
  • Masuk ke dalam folder node_modules (cd node_modules)
  • Jalankan perintah ini - "npm uninstall (Get-ChildItem) .Name"

Ini akan menghapus semua modul.

Manish Kumar
sumber
4

Terkadang tidak npm uninstall -g packageNameberhasil.

Dalam hal ini Anda dapat menghapus paket secara manual.

Pada Mac buka folder /usr/local/lib/node_modulesdan hapus folder dengan paket yang Anda inginkan. Itu dia. Periksa daftar paket yang terinstal secara global dengan perintah ininpm list -g --depth=0

Nastro
sumber
Hanya ingin tahu, mengapa "npm uninstall -g packageName" berfungsi dalam beberapa kasus?
Mwiza
karena itu kode kereta yang sangat besar ... sangat sulit untuk beradaptasi dengan setiap versi OS. Saya pikir itulah alasannya
Nastro
3

Perbarui npm 5:

Pada npm 5.0.0 , modul yang diinstal / dihapus ditambahkan / dihapus sebagai dependensi secara default, sehingga opsi --save tidak lagi diperlukan.

Lari

npm uninstall <package>

sebagai contoh:

npm uninstall mongodb

Ini akan menghapus modul dari folder node_modules dan file package.json juga

codemirror
sumber
1
Benar; jika Anda ingin perilaku default lama (meninggalkan package.json tidak tersentuh), gunakan --no-save flag docs.npmjs.com/cli/install
Marcus
2

The uninstallpilihan tidak bekerja untuk saya ketika saya mencoba untuk menggunakan perintah yang sama dengan yang saya digunakan dalam memasang (karena saya menginstal dengan @latestdirektif)

Jadi misalnya, saya menginstal paket seperti ini:

npm install  @ngtools/webpack@latest

Dan kemudian saya ingin menghapusnya jadi saya menggunakan perintah yang sama (termasuk @test)

npm uninstall  @ngtools/webpack@latest

Jadi uninstall di atas tidak berfungsi, saya harus menghapus @latest& kemudian bekerja dengan baik

npm uninstall  @ngtools/webpack

saya harap ini membantu

Ahmed Elkoussy
sumber
1
# login as root (might be required depending on install)
su - 
# list all global packages
npm ls -g --depth=0
# list all local (project) packages
npm ls -p --depth=0
# remove all global packages
npm ls -g --depth=0 | awk -F/ '/node_modules/ && !/\/npm$/ {print $NF}' | xargs npm -g rm
# remove all local packges
npm ls -p --depth=0 | awk -F/ '/node_modules/ && !/\/npm$/ {print $NF}' | xargs npm -p rm

# NOTE (optional): to use node with sudo you can add the bins to /usr/bin
# NOTE $PATHTONODEINSTALL is where node is installed (e.g. /usr/local/node)
sudo ln -s $PATHTONODEINSTALL/bin/node /usr/bin/node
sudo ln -s $PATHTONODEINSTALL/bin/npm /usr/bin/npm
Snassr
sumber
1

Solusi paling sederhana adalah:

npm uninstall packageName --save-dev

Lihat nama paket tingkat atas di proyek Anda:

npm list --depth=0

Output akan seperti:

app@0.1.0 /home/jackkobec/projects/myAppName
├── packageName@packageVersion
├── express@4.16.4

Salin nama paket dan jalankan perintah uninstall npm. Contoh untuk paket ekspres:

npm uninstall express --save-dev
Jackkobec
sumber
1

Untuk menghapus modul menggunakan npm, Anda dapat menggunakan:

npm uninstall moduleName

Juga, jika Anda ingin menghapus instalasi dan ingin perubahan tercermin dalam package.json Anda maka Anda dapat menggunakan flag --save, seperti ini:

npm uninstall moduleName --save
OR
npm uninstall -S

Dan jika Anda ingin menghapus modul dari devDependencies dan ingin perubahannya tercermin di package.json maka Anda dapat menggunakan flag -D, seperti ini:

npm uninstall moduleName -D
Harshit Agarwal
sumber
1

Untuk menghapus modul modul:

npm uninstall <module_name>  

Ini akan menghapus modul dari node_modules, tetapi tidak dari package.json.

Hapus modul dari package.json gunakan dengan menggunakan perintah ini:

npm uninstall <module_name> --save 

Ini juga menghapus dari package.json.

Slim Coder
sumber
0

Selain itu, jika Anda sudah mulai menggunakan yarn, ganti npm:
yarn remove <package-name>

Setara dengan:
npm uninstall <package-name> --save

Ini akan
- menghapus paket dari package.json, serta
- menghapus instalannya dari node-modulesfolder proyek Anda

SherylHohman
sumber
0

Anda dapat menghapus modul simpul secara manual. Untuk Windows,

  1. Pergi ke node_modulesdirektori repo Anda.

  2. Hapus modul simpul yang tidak Anda inginkan.

  3. Jangan lupa untuk menghapus referensi ke modul di Anda package.json! Proyek Anda mungkin masih berjalan dengan referensi, tetapi Anda mungkin mendapatkan kesalahan. Anda juga tidak ingin meninggalkan referensi yang tidak digunakan di Anda package.jsonyang dapat menyebabkan kebingungan nanti.

Super Jade
sumber
-1

Menggunakan

npm uninstall <package_name>

Contoh untuk mencopot pemasangan express

npm uninstall express
Harry
sumber
-1

Jika Anda menjalankan windows CMD sebagai administrator dan ketik npm -g uninstall <package name>.

Osama Al-Banna
sumber
-2

Jika ingin menghapus beberapa modul, jalankan saja npm uninstall. Lalu pergi ke package.jsondan hapus modul yang tidak diinginkan dari sana, dan kemudian jalankan saja perintahnya npm install. Itu harus memperbaiki masalah Anda.

Tanumay Ghosh
sumber