Comment puis-je déterminer le système d'exploitation actuel avec noeud.js
je suis en train d'écrire quelques scripts de Shell de noeud à utiliser lors du développement sur une plate-forme. Nous avons des développeurs Mac et Windows. Est-il une variable que je peux vérifier dans le Nœud pour exécuter une .sh fichier dans un cas et .chauve-souris dans une autre?
8 réponses
la variable à utiliser serait process.platform
sur Mac la variable retourne darwin
. Sous Windows, il retourne win32
(même sur 64 bits).
les valeurs possibles sont: 'darwin', 'freebsd', 'linux', 'sunos' ou 'win32 '
je viens de mettre ceci au sommet de mon jakeFile:
var isWin = process.platform === "win32";
vous recherchez le module natif OS pour Noeud.js:
v4: https://nodejs.org/dist/latest-v4.x/docs/api/os.html#os_os_platform
ou v5: https://nodejs.org/dist/latest-v5.x/docs/api/os.html#os_os_platform
os.plate-forme()
renvoie la plate-forme du système d'exploitation. Les valeurs possibles sont 'darwin', 'freebsd', 'linux', 'sunos" ou "win32". Renvoie la valeur du processus.plate.
Avec Noeud.js v6 (et au-dessus) il y a un module dédié os
, qui fournit un certain nombre de méthodes d'utilité liées au système d'exploitation.
sur ma machine Windows 10 il rapporte ce qui suit:
var os = require('os');
console.log(os.type()); // "Windows_NT"
console.log(os.release()); // "10.0.14393"
console.log(os.platform()); // "win32"
vous pouvez lire la documentation complète ici: https://nodejs.org/api/os.html
lorsque vous utilisez un noeud 32bits sur des fenêtres 64bits(comme les développeurs de noeuds-webkit ou atom-shell), process.la plate-forme fera écho à 151920920"
utiliser
function isOSWin64() {
return process.arch === 'x64' || process.env.hasOwnProperty('PROCESSOR_ARCHITEW6432');
}
(cochez ici pour plus de détails)
Cela Fonctionne très bien pour moi
var osvar = process.platform;
if (osvar == 'darwin') {
console.log("you are on a mac os");
}else if(osvar == 'win32'){
console.log("you are on a windows os")
}else{
console.log("unknown os")
}
const path = require('path');
if (path.sep === "\") {
console.log("Windows");
} else {
console.log("Not Windows");
}
var isWin64 = process.env.hasOwnProperty('ProgramFiles(x86)');
fonctionne très bien pour moi
if (/^win/i.test(process.platform)) {
// TODO: Windows
} else {
// TODO: Linux, Mac or something else
}
le modificateur i est utilisé pour effectuer l'appariement insensible à la casse.