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?
- 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.
En regardant à travers les documents il ne semble pas avoir une option au-delà du --no-optional
commutateur.
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.
Si vous développez cela node_module
vous-même, ne perdez pas votre temps sur npm install
s, 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):
src/my_module
npm link
". Cela crée un lien symbolique d'un dossier global vers le src/my_module
dossier.src/my_app
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
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