gpt4 book ai didi

node.js - 在运行时在 nodejs 中检查包版本?

转载 作者:搜寻专家 更新时间:2023-10-31 23:04:58 24 4
gpt4 key购买 nike

我在 package.json 中有一些条目定义为“*”

"dependencies": {
"express": "4.*",
"passport": "*",
"body-parser": "*",
"express-error-handler": "*"
},

我不想将这些值卡住到当前版本。我怎么知道我的包在运行时是什么版本?我不介意一一检查,因为我没有很多 :)

顺便说一句:我不能执行 npm list --depth=0 因为我不能直接访问虚拟机(PaaS 限制),只能访问日志。

最佳答案

可以使用fs模块读取node_modules目录下的目录,然后读取其中的package.json

var fs = require('fs');
var dirs = fs.readdirSync('node_modules');
var data = {};
dirs.forEach(function(dir) {
try{
var file = 'node_modules/' + dir + '/package.json';
var json = require(file);
var name = json.name;
var version = json.version;
data[name] = version;
}catch(err){}
});
console.debug(data['express']); //= 4.11.2

关于node.js - 在运行时在 nodejs 中检查包版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29741373/

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