Bağımlılık olmadan npm paketi kurma seçeneği var mı?


21

Birden çok bağımlılığı olan bir npm paketini değiştirmeye çalışıyorum. Bu nedenle npm install -g .yürütülmesi uzun zaman alıyor. Packages.json bağımlılıklarını kaldırmanın yanı sıra başka seçeneklerim var mı?

Yanıtlar:




7

Bunu node_modulekendiniz geliştiriyorsanız npm install, bunun yerine zamanınızı boşa harcamayın npm link.

Kısacası, npm'nin sahip olduğu bir global klasördeki modül klasörünüze sembolik bir bağlantı oluşturursunuz ve uygulama klasörünüzde npm'den bu sembolik bağlantılı klasörü kullanmasını istersiniz.

Bu, modül klasöründe yaptığınız değişikliklerin uygulamanıza hemen yansıtılmasını sağlar.

Ana adımlar (aşağıda bağlantılı öğreticiden kopyalanmıştır, önemli gotcha'lar için öğreticiyi okuduğunuzdan emin olun):

  1. cd'ye src/my_module
  2. " npm link" Komutunu çalıştırın . Bu, genel klasörden klasöre sembolik bir bağlantı oluşturur src/my_module.
  3. cd'ye src/my_app
  4. Koş npm link my_module. Bu node_modules/my_module, belirli bir projedeki genel klasöre bağlanır, böylece geliştirme klasörünüzden yüklemeyi requirearamak için arama yapar .my_modulesrc/my_module

Bu eğiticiye bakın: http://justjs.com/posts/npm-link-developing-your-own-npm-modules-without-tears Ve resmi dokümanlar npm link: https://docs.npmjs.com/cli/link


Kabul edilen cevabımı değiştirmiyorum, ancak bu benim özel durumum için yararlı olduğu için oy kullanıyorum.
Justin Dearing

4

Bu özellik 2010'da geri istendi, ancak talihsizlik göz ardı edildi ve kapatıldı: https://github.com/npm/npm/issues/340

Bir sürü seçenek denedim ve nihayet oldukça basit bir çözüm buldum - doint npm kurulumundan önce başka bir şeye package.json adını verin, ardından kurulum bittikten sonra geri dönün:

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

2
Vay canına, bu hala tek yol mu? Bu çok saçma, bir bayrak --ignore-packagefalan olmalı.
JacobTheDev

2
Bu çözüm iyi ve şu ana kadar sorum için en iyi çözüm olabilir: stackoverflow.com/questions/53532845/…
aGuegu
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.