私はnode.jsにかなり慣れていないため、実行するために環境変数を設定する必要があるプログラムがあります( noble ライブラリーを使用して、bashコマンドはSudo NOBLE_HCI_DEVICE_ID=x node program.js
、使用するBluetoothアダプター(HCIデバイス)をコードに通知します)。
この背後にある理由は、いくつかのモジュールがあり、それぞれに独自のBluetoothアダプターが必要であり、各モジュールが使用するアダプターをコードで指定したいためです。
コードで環境変数を使用し、コマンドライン(process.env.VARIABLE_NAME)を介して環境変数を設定する方法を説明している記事はたくさんありますが、node.js内から設定する方法はわかりません。
Node.jsコードで環境変数を設定することは可能ですか?
process.env
を使用してノードの環境変数を使用できるだけでなく、それらを設定することもできます。これにより、現在のノードプロセスとそれが呼び出すすべての子プロセス内の変数が設定されますが、呼び出し元のシェル自体は設定されません。
// consume
var alreadySetEnvVarForDevice = process.env.NOBLE_HCI_DEVICE_ID
// set
process.env['NOBLE_HCI_DEVICE_ID'] = 1