gpt4 book ai didi

javascript - 如何以编程方式更新 Node 模块

转载 作者:数据小太阳 更新时间:2023-10-29 05:25:13 25 4
gpt4 key购买 nike

我需要通过脚本使用 npm 更新。下面是我的代码:

var npm = require('npm');
npm.load(function () {
npm.commands.outdated({json: true}, function (err, data) {
//console.log(data);
npm.commands.update(function(err, d){
console.log(d);
});
});
});

当我运行此脚本时,模块会更新,但 package.json 中未指示新版本。

当我从命令行运行 npm update --save-dev 时,文件夹和 package.json 得到更新。

请建议如何通过脚本实现这一点。如何通过代码使用 --save-dev 选项?

最佳答案

加载配置时需要指定{save: true}选项:

npm.load({save: true}, function() {
// update code
});

编辑:

npm.load 命令的 'save-dev' 选项不起作用。这里有一个问题:https://github.com/npm/npm/issues/2369 .

解决方法是重新安装过时的模块:

npm.load({'save-dev': true}, function () {
npm.commands.outdated(function (err, rawOutdated) {
var outdated = rawOutdated.map(function (module) {
return module[1];
});
npm.commands.install(outdated, function(err, d) {

});
});
});

关于javascript - 如何以编程方式更新 Node 模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37625951/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com