如何 运行 npm install --save-dev node.js

how to run npm install --save-dev within node.js

我已经创建了一个 cli 来格式化我的项目并安装一些依赖项。

我尝试运行

const runNpm = () => {
  return new Promise(resolve => {
    npm.load(function(err) {
      // handle errors

      npm.commands.install(
        ["@angular/core", "@angular/cli --save-dev"],
        function(err, data) {
          if (err) {
            reject(err);
          }
          console.log("dependencies installed");
          resolve();
        }
      );

      npm.on("log", function(message) {
        console.log(message);
      });
    });
  });
};

没有 --save-dev 它工作完美
我在互联网上搜索过,但什么也没找到。

您可以在此处查看解决方案:Can I install a NPM package from javascript running in Node.js? 使用来自 javascript 代码的 npm 包管理器安装一般 npm 包。

希望对您有所帮助。

我相信我找到了将包保存到开发列表中的解决方案,你必须使用 npm.load() 如下:

var npm = require('npm');

npm.load({ 'save-dev': true }, function (err) {
    if (err) console.log(err);

    npm.commands.install(['@angular/core', '@angular/cli'], function (err, data) {
        if (err) return console.error(err)
    });
});

原始答案在这里:Programmatically install a npm package, providing --save-dev flag