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-optional
anahtarın ötesinde bir seçenek görünmüyor .
Bu SO Q&A başlıklı: npm install
zaten yüklü veya önbellekten kullanılabilir olsa bile, projemin tüm bağımlılıklarını ağ üzerinden yükler, bir --skip-installed
anahtar var gibi görünüyor . Ancak dokümanlar bu anahtara herhangi bir atıfta bulunmazlar.
Bunu node_module
kendiniz 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_app
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
require
aramak için arama yapar .my_module
src/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
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-package
falan olmalı.