2016-06-04 45 views
6

Bir komut dosyasından npm güncelleştirmesini kullanmam gerekir. Aşağıda benim kodudur: Düğüm modüllerini program aracılığıyla güncelleştirme

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); 
    }); 
    }); 
}); 

Bu komut dosyasını çalıştırmak

, modüller güncellenmedi, ancak yeni versiyonları package.json belirtilen verilmez.

Komut satırından npm update --save-dev'u çalıştırdığımda klasörler ve package.json güncelleştirildi.

Lütfen bunun komut dosyası aracılığıyla nasıl gerçekleştirilebileceğini önerin. Kod aracılığıyla --save-dev seçeneğini nasıl kullanabilirim?

cevap

2

Sen yükleniyor {save: true} seçeneği belirtmek gerekir yapılandırma:

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

Düzenleme:

komutu içinseçeneği çalışmıyor. Burada bir sorun var: https://github.com/npm/npm/issues/2369. Eğer ben yapıştırılan bağlantıyı bir göz var mı

Yaramadı
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) { 

    }); 
    }); 
}); 
+0

Bu işe yarıyor! ama bağımlılıklarla hiçbir şey yapmaz ... {save: true, dev: true}/{'--save-dev': true}/{save-dev: true} kullanmayı denedim ... bunların hiçbiri iş ..... Devre bağımlılıkları – Krishnaveni

+2

güncellemek için bir yolu var 'save-dev: true' çalışmadı onayladı. Çevresinde bir çalışma, "npm update" yerine "npm install" kullanmak olacaktır. – gnerkus

+0

Güncel çalışma, eski modülleri yeniden yüklemek: -> package.json'daki dev bağımlılıkları güncellendi – Krishnaveni

2

npm.commands.update'daki ilk argüman argümanların bir listesidir. Ben programlı UÖM'sini kullanılan hiç ama onların kaynak koduna bakılarak aşağıdaki denemek:

npm.commands.update(['--save-dev'], function(err, d){ 
    console.log(d); 
}); 

referans Bu testte üzerindedir: https://github.com/npm/npm/blob/master/test/tap/update-save.js#L87

+0

.... o – Krishnaveni

+0

tanımsız diyor ki:

etrafında çalışma eskimiş modülleri yeniden kurmaktır? Bu, nasıl kullanılacağını keşfetmeye yardımcı olabilir. – Filype

+0

@Krishnaveni: ['--save-dev'] 'yerine {saveDev: true} 'yu deneyebilir misiniz? – Filype

İlgili konular