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ı?
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:
- isteğe bağlı seçenek artık bu belgeye göre uygulanmıştır https://docs.npmjs.com/cli/install :
The --no-optional argument will prevent optional dependencies from being installed.
Dokümanlar üzerinden bakıldığında , --no-optionalanahtarın ötesinde bir seçenek görünmüyor .
Bu SO Q&A başlıklı: npm installzaten yüklü veya önbellekten kullanılabilir olsa bile, projemin tüm bağımlılıklarını ağ üzerinden yükler, bir --skip-installedanahtar var gibi görünüyor . Ancak dokümanlar bu anahtara herhangi bir atıfta bulunmazlar.
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):
src/my_module npm link" Komutunu çalıştırın . Bu, genel klasörden klasöre sembolik bir bağlantı oluşturur src/my_module.src/my_appnpm 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_moduleBu 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
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
--ignore-packagefalan olmalı.