我创建了一个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
的情况下,它可以完美运行
我已经在互联网上进行搜索,但找不到任何内容。
答案 0 :(得分:0)
您可以在以下位置查看解决方案:Can I install a NPM package from javascript running in Node.js?使用javascript代码中的npm软件包管理器安装常规npm软件包。
我希望这会有所帮助。
答案 1 :(得分:0)
我相信我找到了将软件包保存到开发人员列表的解决方案,您必须按如下所示使用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