Possibilité d'installer tous les modules manquants pour une application de noeud?

j'ai une application de noeud avec laquelle je viens de commencer à travailler et à chaque fois que j'essaie de l'exécuter, ça dit qu'il manque un module. Je viens d'utiliser npm install ... pour chaque module mais après avoir fait environ 10 d'entre eux, je me demande s'il n'y a pas un moyen de faire démonter tous les modules nécessaires pour une application de noeud sans que je les installe manuellement. Peut-il être fait?

25
demandé sur Abe Miessler 2012-11-02 08:17:40
la source

4 ответов

Oui, tant que la dépendance est répertorié dans package.json.

Dans le répertoire qui contient package.json, il suffit de taper:

npm install
40
répondu JP Richardson 2012-11-02 09:21:52
la source

j'ai créé un module npm pour gérer l'installation des modules manquants automatiquement.

npm-installer-en l'absence de

il installera toutes les dépendances et sous-dépendances de l'application automatiquement. Ceci est utile lorsque les sous-modules ne sont pas installés correctement.

11
répondu alexcline 2013-11-12 20:49:04
la source

vous pouvez courir npm install yourModule --save pour installer et mettre à jour automatiquement package.json avec ce module nouvellement installé.

Donc lorsque vous exécutez npm install une deuxième fois il installera toutes les dépendances précédemment ajoutées et vous n'aurez pas besoin de réinstaller chaque dépendance une par une.

1
répondu Renato Gama 2012-11-03 07:27:13
la source

j'ai écrits un script pour ça. Merci de l'ajouter avant le premier besoin de la fonction:

(function(){
    var r=require;
    require=function (n){
        try{
            return r(n)
        }
        catch(e){
            r('child_process').exec('npm i ' + n,function (err,body){
                try{

                    console.log('Module "' +n + '"" not found, try to install. Please restart the app\n' + body )
                    return r(n);
                }
                catch(e){
                }
            })
        }
    }
})()
-1
répondu Aminadav Glickshtein 2014-02-03 14:37:38
la source

Autres questions sur