45 votes

Comment faire pour que npm install n'enregistre que les dépendances dans package.json ?

Je suis en train d'ajouter des dépendances à un package.json qui sera utilisé dans le cadre d'un processus de provisionnement pour une machine virtuelle. En tant que tel, je n'ai pas besoin d'installer les modules localement puisque le provisionneur le fera pour moi dans la machine virtuelle. Existe-t-il donc un moyen de faire ce qui suit ?

npm install --save <module>

Pour qu'il seulement crée une dépendance pour la dernière version du module dans le fichier package.json sans avoir à télécharger le module ou à créer un node_modules dossier ?

El --dry-run est proche, car elle ne crée pas de fichier node_modules mais il n'écrit pas non plus dans le dossier package.json soit.

Pour l'instant, je fais manuellement ce qui suit chaque fois que je dois mettre à jour des paquets avant de re-provisionner la VM :

rm -rf node_modules

Parmi les autres raisons, on peut citer le fait de pouvoir construire facilement une package.json dans les situations de faible bande passante, comme le tethering, où vous savez que vous aurez besoin du module un jour ou l'autre mais ne voulez pas économiser la bande passante.

15voto

Arfeo Points 182

Je cherchais la solution. N'ai pas trouvé, puis fait un script qui ajoute les dépendances (dernières versions) à la liste des package.json en sautant le processus d'installation.

https://www.npmjs.com/package/npm-add-dependencies

Installation

$ npm install npm-add-dependencies -g

Utilisation

Allez dans un répertoire avec la cible package.json et exécuter

$ npm-add-dependencies <dependencies> [target]

dependencies est la liste des dépendances divisée par l'espace, et target est l'un des éléments suivants :

--dev para devDependencies

--peer para peerDependencies

--bundled para bundledDependencies

--optional para optionalDependencies

Si non target passé, les dépendances sont écrites dans dependencies .

Je serai heureux si cela peut aider quelqu'un d'autre.

8voto

RyanZim Points 3148

Il n'y a aucun moyen de le faire avec npm à ce que je sache.

Il existe deux paquets npm pour faire cela ; je n'ai jamais utilisé l'un ou l'autre, mais ils peuvent valoir la peine d'être essayés :

J'espère que cela vous aidera !

-2voto

seedsseedsseeds Points 11

npm install --save packagename entonces npm uninstall packagename (sans l'option --save) accomplit ceci, bien qu'un dossier node_modules vide soit créé.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X