272

Windows の場合、Process.platform は「win32」を返します。Windows では、使用している Windows のバージョンに応じて、ユーザーのホーム ディレクトリは C:\Users[USERNAME] または C:\Documents and Settings[USERNAME] になります。Unix では、これは問題ではありません。

4

6 に答える 6

431

最近の回答で述べたように、現在、推奨される方法は単純です。

const homedir = require('os').homedir();

[元の回答]USERPROFILEwin32で環境変数を使用してみませんか?

function getUserHome() {
  return process.env[(process.platform == 'win32') ? 'USERPROFILE' : 'HOME'];
}
于 2012-01-31T14:43:47.710 に答える
268

os.homedir()この PR によって追加され、nodejs のパブリック 4.0.0 リリースの一部です。


使用例:

const os = require('os');

console.log(os.homedir());
于 2015-09-14T01:57:11.583 に答える
82

まあ、変数値ではなく、機能に依存する方が正確です。特に、Windows には 2 つの可能な変数があるためです。

function getUserHome() {
  return process.env.HOME || process.env.USERPROFILE;
}

編集:最近の回答で述べたように、https://stackoverflow.com/a/32556337/103396が正しい方法です(require('os').homedir())。

于 2013-04-22T21:23:29.890 に答える
16

を使用しosenv.home()ます。これは isaacs によって維持されており、npm 自体によって使用されていると思います。

https://github.com/isaacs/osenv

于 2014-11-07T21:31:39.937 に答える