小智 37
这是清单:
节点 >> 10.6.0 npm >> 6.1.0
节点 >> 9.0.0 npm >> 5.5.1
https://nodejs.org/en/download/releases/
Rob*_*obC 11
在https://nodejs.org/dist/ 上有index.json,它指示 nodejs 的每个版本以及与其捆绑的 npm 版本。
索引文件
index.json读取数组中的一个对象的摘录:
[
{
"version": "v10.6.0", //<--- nodejs version
"date": "2018-07-04",
"files": [
...
],
"npm": "6.1.0", //<--- npm version
"v8": "6.7.288.46",
"uv": "",
"zlib": "1.2.11",
"openssl": "1.1.0h",
"modules": "64",
"lts": false
},
...
]
Run Code Online (Sandbox Code Playgroud)
因此数组中的每个对象都有一个version (即 nodejs 版本)和npm (即 npm 版本)键/值对。
考虑使用以下 node.js 脚本从https://nodejs.org/dist/index.json端点请求数据。
获取-versions.js
const { get } = require('https');
const ENDPOINT = 'https://nodejs.org/dist/index.json';
function requestVersionInfo(url) {
return new Promise((resolve, reject) => {
get(url, response => {
let data = '';
response.on('data', chunk => data += chunk);
response.on('end', () => resolve(data));
}).on('error', error => reject(new Error(error)));
});
}
function extractVersionInfo(json) {
return JSON.parse(json).map(({ version, npm = null }) => {
return {
nodejs: version.replace(/^v/, ''),
npm
};
});
}
(async function logVersionInfo() {
try {
const json = await requestVersionInfo(ENDPOINT);
const versionInfo = extractVersionInfo(json);
console.log(JSON.stringify(versionInfo, null, 2));
} catch ({ message }) {
console.error(message);
}
})();
Run Code Online (Sandbox Code Playgroud)
运行以下命令:
node ./path/to/get-versions.js
Run Code Online (Sandbox Code Playgroud)
将在您的控制台上打印如下内容:
Run Code Online (Sandbox Code Playgroud)[ { "nodejs": "14.2.0", "npm": "6.14.4" }, { "nodejs": "14.1.0", "npm": "6.14.4" }, { "nodejs": "14.0.0", "npm": "6.14.4" }, { "nodejs": "13.14.0", "npm": "6.14.4" }, ... ]
如您所见,它列出了 nodejs 的每个版本及其各自的 npm 版本。
| 归档时间: |
|
| 查看次数: |
1120 次 |
| 最近记录: |