如何在不重新安裝的情況下將所有已安裝的節點模塊保存在package.json中?如何將所有已安裝的節點模塊保存在package.json中?
我有類似npm init --yes
但是,我不確定這是否可行。
感謝您的幫助!
如何在不重新安裝的情況下將所有已安裝的節點模塊保存在package.json中?如何將所有已安裝的節點模塊保存在package.json中?
我有類似npm init --yes
但是,我不確定這是否可行。
感謝您的幫助!
我覺得沒有辦法讓這些東西有一些內置模塊
但是你可以編寫自己的代碼來獲得這些信息,並更新在自己的package.json
文件
var fs = require("fs");
function getPackageInfo() {
fs.readdir("./node_modules", function(err, module) {
if (err) {
console.log(err);
return;
}
console.log(module)
module.forEach(function(dir) {
if (dir.indexOf(".") !== 0) {
var packageFile = "./node_modules/" + dir + "/package.json";
if (fs.existsSync(packageFile)) {
fs.readFile(packageFile, function(err, data) {
if (err) {
console.log(err);
} else {
var json = JSON.parse(data);
console.log('"' + json.name + '": "' + json.version + '",');
}
});
}
}
});
});
}
getPackageInfo();
輸出
"setprototypeof": "1.0.1",
"raw-body": "2.1.7",
"source-map": "0.4.4",
"statuses": "1.3.0",
"transformers": "2.1.0",
"type-is": "1.6.13",
"methods": "1.1.2",
"uglify-js": "2.7.3",
"uglify-to-browserify": "1.0.2",
"utils-merge": "1.0.0",
"unpipe": "1.0.0",
"vary": "1.0.1",
"void-elements": "2.0.1",
"with": "4.0.3",
"window-size": "0.1.0",
"wordwrap": "0.0.3",
"yargs": "3.10.0",
"mime-db": "1.24.0",
...................
..................
..................
.................
您還可以使用
npm list --depth=0
命令由child_process spawn
該解決方案是讓包列表和版本因爲沒有可用的直接方法,所以作爲解決方法很好。但是這可能會有問題,因爲現在npm(新版本> = v3)會創建扁平化樹,結果這個代碼會生成一個更大的依賴關係樹,然後實際生成。 – Pankaj
你也可以使用'npm list --depth = 0'命令來獲取軟件包列表和版本,使用* shelljs *或* child_process spawn *代替文件夾和文件遍歷 –
同意,我們仍然需要做一些事情來獲得它完成。但你的觀點是正確的我正在更新我的答案 – abdulbarik
http://stackoverflow.com/questions/10972176/find-the-version-of-an-installed-npm-package –