Apakah ada opsi untuk menginstal paket npm tanpa dependensi?


21

Saya berupaya mengubah paket npm dengan banyak dependensi. Karena itu npm install -g .membutuhkan waktu lama untuk dieksekusi. Apakah saya memiliki opsi lain selain menghapus dependensi dari packages.json?

Jawaban:




7

Jika Anda mengembangkannya node_modulesendiri, jangan buang waktu Anda untuk npm installs, alih-alih gunakan npm link.

Singkatnya, Anda membuat tautan simbolis ke folder modul Anda di folder global yang dimiliki NPM, dan kemudian di folder aplikasi Anda, Anda meminta NPM untuk menggunakan folder terkait simbolis itu.

Ini membuat perubahan yang Anda buat di folder modul agar tercermin langsung di aplikasi Anda.

Berikut adalah langkah-langkah utama (disalin dari tutorial yang ditautkan di bawah ini, pastikan untuk membaca tutorial untuk gotcha penting):

  1. cd ke src/my_module
  2. Jalankan " npm link". Ini membuat tautan simbolis dari folder global ke src/my_modulefolder.
  3. cd ke src/my_app
  4. Lari npm link my_module. Tautan node_modules/my_moduleini dalam proyek khusus ini ke folder global, sehingga requirepanggilan mencari my_moduleberakhir memuatnya dari folder pengembangan Anda src/my_module,.

Lihat tutorial ini: http://justjs.com/posts/npm-link-developing-your-own-npm-modules-without-tears Dan dokumen resmi untuk npm link: https://docs.npmjs.com/cli/link


Tidak mengubah jawaban yang saya terima, tetapi memperbaiki karena ini berguna untuk kasus khusus saya.
Justin Dearing

4

Fitur ini diminta kembali pada tahun 2010, tetapi sayangnya diabaikan dan ditutup: https://github.com/npm/npm/issues/340

Saya mencoba banyak pilihan, dan akhirnya menemukan solusi yang cukup sederhana - ganti nama package.json ke sesuatu yang lain sebelum doint npm instal, kemudian kembalikan kembali ke setelah instal selesai:

mv package.json package.bak
npm install <package_name> --no-save
mv package.bak package.json

2
Wow, apakah itu serius masih satu-satunya cara? Itu konyol, harus ada bendera --ignore-packageatau sesuatu.
JacobTheDev

2
Solusi ini bagus dan sejauh ini mungkin merupakan solusi terbaik untuk pertanyaan saya: stackoverflow.com/questions/53532845/…
aGuegu
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.