web-dev-qa-db-fra.com

Comment installer npm pour ne sauvegarder que la dépendance à package.json?

J'ajoute des dépendances à un package.json qui sera utilisé dans le cadre d'un processus de provisioning pour une machine virtuelle. En tant que tel, je n'ai pas réellement besoin d'installer les modules localement, car le fournisseur le fera pour moi à l'intérieur de la machine virtuelle. Alors est-il possible de faire ce qui suit:

npm install --save <module>

Alors que seulement crée une dépendance pour la dernière version du module dans package.json sans télécharger le module ou créer un dossier node_modules?

L'option --dry-run est fermée, car elle ne crée pas de dossier node_modules, mais n'écrit pas non plus dans package.json.

Pour l'instant, j'effectue manuellement les opérations suivantes chaque fois que je dois mettre à jour des packages avant de réapprovisionner la machine virtuelle:

rm -rf node_modules

Cela peut être également possible grâce à la possibilité de créer facilement un fichier package.json dans des situations de bande passante faible, telle que le partage de connexion, où vous savez que vous aurez éventuellement besoin du module, mais que vous ne souhaitez pas ménager la bande passante.

21
Soviut

Il n'y a aucun moyen de faire cela avec npm que je sache.

Il existe deux packages npm pour cela; Je n'ai jamais utilisé ni l'un ni l'autre, mais ils pourraient valoir la peine d'essayer:

J'espère que cela t'aides!

4
RyanZim

npm install --save packagename puis npm uninstall packagename (sans l'option --save) accomplit cette opération, bien qu'un dossier node_modules vide soit créé

0
seedsseedsseeds

Je cherchais la solution. N'a pas trouvé, puis créé un script qui ajoute des dépendances (dernières versions) au fichier package.json en ignorant le processus d'installation.

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

Installation

$ npm install npm-add-dependencies -g

Utilisation

Accédez à un répertoire avec le package.json cible et exécutez

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

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

--dev pour devDependencies

--peer pour peerDependencies

--bundled pour bundledDependencies

--optional pour optionalDependencies

Si aucun argument target n'est passé, les dépendances sont écrites dans dependencies.

Sera heureux si cela peut aider quelqu'un d'autre.

0
Arfeo

Il est intéressant de combiner --package-lock-only avec --no-package-lock

npm install --package-lock-only --no-package-lock PACKAGE

Cela ne crée ni ne met à jour le fichier package-lock.json. Ajoute seulement une entrée à package.json

0
Epeli