节点临时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
有一个clean
function,可以清理临时目录以后。