如何从nodejs脚本安装npm包?

Vla*_*kov 10 node.js npm web

如何从nodejs脚本安装npm包?

问题不是关于简单安装 npm包通过终端,
它是关于通过nodejs脚本安装:
不是关于这个:npm install express,但关于有install.js内容的文件npm install express,我将执行node install.js,之后它将在本地安装快递模块在此文件夹中.

对不起,Google和DuckDuckGo今天不是我的朋友(

主要问题是我的小实用程序需要自动本地安装包,因为全局包在Windows中不起作用.

tUr*_*G0n 5

查看commander.js它允许您使用节点编写命令行应用程序.

然后你可以使用该exec模块.

假设您将以下内容放入其中install.js,您只需执行以下操作:./install.js它将npm install为您运行.

#!/usr/bin/env node

var program = require('commander');
var exec = require('child_process').exec;

var run = function(cmd){
  var child = exec(cmd, function (error, stdout, stderr) {
    if (stderr !== null) {
      console.log('' + stderr);
    }
    if (stdout !== null) {
      console.log('' + stdout);
    }
    if (error !== null) {
      console.log('' + error);
    }
  });
};

program
  .version('0.1.3')
  .option('i, --install ', 'install packages')
  .parse(process.argv);



if (program.install) {
  run('npm install');
}


var count = 0;


// If parameter is missing or not supported, display help
program.options.filter(function (option) {
  if(!(option.short == process.argv[2]))
    count++
});

if(count == program.options.length)
  program.help();
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助!

  • 你可以使用[shelljs](https://github.com/arturadib/shelljs)```var shell = require('shelljs');使命令执行的部分更容易****shell.exec('npm install');``` (4认同)