Vérifier la version actuelle du noeud

Je dois accéder par programme à la version de nœud en cours d’exécution dans une bibliothèque que j’écris. Je n’arrive pas à trouver ça dans les docs.

Essayez de regarder la propriété process.version .

Number(process.version.match(/^v(\d+\.\d+)/)[1])

si process.version est ‘v0.11.5’, alors 0.11 (Number).

Utilisez semver pour comparer process.version :

 const semver = require('semver'); if (semver.gte(process.version, '0.12.18')) { ... } 

En fait, il serait préférable d’utiliser l’object process.versions qui fournit de nombreuses versions pour les différents composants de noeud. Exemple:

 { http_parser: '2.5.2', node: '4.4.3', v8: '4.5.103.35', uv: '1.8.0', zlib: '1.2.8', ares: '1.10.1-DEV', icu: '56.1', modules: '46', openssl: '1.0.2g' } 

J’ai eu le même problème avec mon code base. Je voulais connaître la version actuelle de NodeJ que je vais utiliser pour exécuter mon serveur au moment de l’exécution. Pour cela, j’ai écrit un code qui peut être exécuté avant de démarrer le serveur en utilisant le script de npm run start . Trouvé ci-dessous code utile de cette question .

 'use ssortingct'; const semver = require('semver'); const engines = require('./package').engines; const nodeVersion = engines.node; // Compare installed NodeJs version with required NodeJs version. if (!semver.satisfies(process.version, nodeVersion)) { console.log(`NodeJS Version Check: Required node version ${nodeVersion} NOT SATISFIED with current version ${process.version}.`); process.exit(1); } else { console.log(`NodeJS Version Check: Required node version ${nodeVersion} SATISFIED with current version ${process.version}.`); } 

Mon package.json ressemble à ceci:

 { "name": "echo-server", "version": "1.0.0", "engines": { "node": "8.5.0", "npm": "5.3.0" }, "description": "", "main": "index.js", "scripts": { "check-version" : "node checkVersion.js", "start-server" : "node app.js" "start" : "npm run check-version && npm run start-server", "test": "npm run check-version && echo \"Error: no test specified\" && exit 1" }, "author": "", "license": "ISC", "dependencies": { "bluebird": "^3.5.1", "express": "^4.16.3", "good-guy-http": "^1.10.3", "semver": "^5.5.0" } } 

Exécutez la commande npm install avant d’exécuter la commande npm run start pour exécuter votre projet.