Programlı olarak npm kullanmak gerçekten mümkündür ve dokümantasyonun eski revizyonlarında ana hatları çizilmiştir. O zamandan beri resmi belgelerden kaldırıldı, ancak aşağıdaki ifadeyle hala kaynak kontrolünde var:
Npm programlı olarak kullanılabilse de, API'sı yalnızca CLI tarafından kullanılmak içindir ve başka herhangi bir amaca uygunluğuna ilişkin hiçbir garanti verilmez. Bazı görevleri güvenilir bir şekilde gerçekleştirmek için npm kullanmak istiyorsanız, yapılacak en güvenli şey istenen npm komutunu uygun argümanlarla çağırmaktır.
Npm'nin anlamsal sürümü, temel API'den ziyade CLI'nin kendisine başvurur. Npm'nin sürümü, semver'e göre hiçbir değişiklik yapılmadığını gösterse bile, dahili API'nin kararlı kalması garanti edilmez .
Orijinal belgelerde, sağlanan kod örneği aşağıdadır:
var npm = require('npm')
npm.load(myConfigObject, function (er) {
if (er) return handlError(er)
npm.commands.install(['some', 'args'], function (er, data) {
if (er) return commandFailed(er)
})
npm.registry.log.on('log', function (message) { ... })
})
Yana npm var node_modules
klasörde, kullanabileceğiniz require('npm')
başka bir modül gibi yüklemek için. Bir modül kurmak için kullanmak isteyeceksiniz npm.commands.install()
.
Kaynağa bakmanız gerekiyorsa, o da GitHub'da . npm install
Herhangi bir komut satırı argümanı olmadan çalıştırmaya eşdeğer kodun eksiksiz bir çalışma örneğini burada bulabilirsiniz :
var npm = require('npm');
npm.load(function(err) {
npm.commands.install(['ffi'], function(er, data) {
});
npm.on('log', function(message) {
console.log(message);
});
});
Yükleme işlevinin ilk bağımsız değişkeninin bir dizi olduğuna dikkat edin. Dizinin her bir öğesi, npm'nin kurmaya çalışacağı bir modüldür .
npm-cli.js
Kaynak kontrolü dosyasında daha gelişmiş kullanım bulunabilir .
npm install npm --save
. Örnek harika çalışıyor :)