Existe-t-il une option pour installer un package npm sans dépendances?


21

Je tente de modifier un package npm avec plusieurs dépendances. En tant que tel, l' npm install -g .exécution est longue. Ai-je d'autres options en plus de supprimer les dépendances de packages.json?

Réponses:




7

Si vous développez cela node_modulevous - même, ne perdez pas votre temps en npm installs, utilisez plutôt npm link.

En bref, vous créez un lien symbolique vers le dossier de votre module sur un dossier global appartenant à npm, puis dans votre dossier d'application, vous demandez à npm d'utiliser ce dossier lié symbolique.

Cela fait que les modifications que vous apportez dans le dossier du module se reflètent immédiatement dans votre application.

Voici les principales étapes (copiées à partir du tutoriel lié ci-dessous, assurez-vous de lire le tutoriel pour les accrochages importants):

  1. cd à src/my_module
  2. Exécutez " npm link". Cela crée un lien symbolique d'un dossier global vers le src/my_moduledossier.
  3. cd à src/my_app
  4. Courez npm link my_module. Ce lien renvoie node_modules/my_moduleà ce projet dans le dossier global, de sorte que les requireappels à la recherche d' my_moduleéolien en chargeant à partir de votre dossier de développement, src/my_module.

Voir ce tutoriel: http://justjs.com/posts/npm-link-developing-your-own-npm-modules-without-tears Et les documents officiels pour npm link: https://docs.npmjs.com/cli/link


Ne change pas ma réponse acceptée, mais vote positif, car cela est utile pour mon cas spécifique.
Justin Dearing

4

Cette fonctionnalité a été demandée en 2010, mais malheureusement, elle a été ignorée et fermée: https://github.com/npm/npm/issues/340

J'ai essayé un tas d'options et j'ai finalement trouvé une solution assez simple - renommer package.json en autre chose avant l'installation de doint npm, puis revenir à la fin de l'installation:

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

2
Wow, est-ce vraiment le seul moyen? C'est ridicule, il devrait y avoir un drapeau --ignore-packageou quelque chose.
JacobTheDev

2
Cette solution est bonne et jusqu'à présent, c'est peut-être la meilleure solution à ma question: stackoverflow.com/questions/53532845/…
aGuegu
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.