节点临时npm安装完成编程

我想以编程方式在节点应用程序启动后,使用Node应用npm install一个包。 理想情况下,这个软件包不会存入我的node_modules文件夹,而是会在运行后自行node_modules

npm支持编程式安装 ,但它似乎确实将模块保存到node_modules 。 另外,使npm (一个大模块)的整体成为这种吸引的需求。 但是,当我查看源代码时, npm install部分使用了大量的模块,并不是我可以轻松再现的。

有没有其他模块可以满足这个要求?

用NPMfind你可以安装到一个path,有这个漂亮的temp模块,可以帮助做跨平台:

 var temp = require('temp') , npm = require('npm') ; function use(module, cb) { npm.load({}, function(){ npm.commands.install(temp.dir, [module], function(err, data){ var dir = data[0][1]; var mod = require(__dirname + '/' + dir); cb(mod); }); }) } use('lodash', function(_){ // ... do things. }); 

如果你想, temp有一个cleanfunction,可以清理临时目录以后。