web-dev-qa-db-fra.com

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

Je tente de modifier un package npm avec plusieurs dépendances. En tant que tel npm install -g . prend beaucoup de temps à exécuter. Ai-je d'autres options en plus de supprimer les dépendances de packages.json?

21
Justin Dearing

- L'option non facultative est maintenant implémentée selon cette documentation https://docs.npmjs.com/cli/install =:

The --no-optional argument will prevent optional dependencies from being installed.
18
jurevert

En regardant à travers les documents il ne semble pas avoir une option au-delà du --no-optional commutateur.

Non testé/non confirmé

Ceci SO Q&A intitulé: npm install installe toutes les dépendances de mon projet sur le réseau, même si elles sont déjà installées ou disponibles à partir du cache semble impliquer qu'il y a un --skip-installed commutateur. Mais la documentation ne fait aucune référence à ce commutateur.

7
slm

Si vous développez cela node_module vous-même, ne perdez pas votre temps sur 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 gotchas importants):

  1. cd à src/my_module
  2. Courir "npm link ". Cela crée un lien symbolique d'un dossier global vers le src/my_module dossier.
  3. cd à src/my_app
  4. Courir npm link my_module. Ce lien node_modules/my_module dans ce projet particulier dans le dossier global, de sorte que require appelle à la recherche de my_module finissez par le charger à 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

7
marmor

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

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
4
Vitaliy Ulantikov