Ich konnte den Code nicht sauber in den Kommentar einer Antwort einfügen. Aber ich würde die Antwort von @Ben Barkay verwenden und dies in die require.uncache
Funktion.
// see https://github.com/joyent/node/issues/8266
// use in it in @Ben Barkay's require.uncache function or along with it. whatever
Object.keys(module.constructor._pathCache).forEach(function(cacheKey) {
if ( cacheKey.indexOf(moduleName) > -1 ) {
delete module.constructor._pathCache[ cacheKey ];
}
});
Angenommen, Sie haben ein Modul angefordert, es dann deinstalliert, dann dasselbe Modul neu installiert, aber eine andere Version verwendet, die ein anderes Hauptskript in ihrer package.json hat, dann wird das nächste require fehlschlagen, weil dieses Hauptskript nicht existiert, weil es in Module._pathCache