Kri*_*eni 6 javascript node.js npm
我需要使用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);
});
});
});
Run Code Online (Sandbox Code Playgroud)
当我运行此脚本时,模块会更新,但package.json中未指示新版本.
当我从命令行运行时npm update --save-dev ,文件夹和package.json得到更新.
请建议如何通过脚本实现这一目标.如何--save-dev通过代码使用选项?
您需要{save: true}在加载配置时指定选项:
npm.load({save: true}, function() {
// update code
});
Run Code Online (Sandbox Code Playgroud)
编辑:
该命令'save-dev'的选项npm.load不起作用。这里有一个关于它的问题: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) {
});
});
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
579 次 |
| 最近记录: |