如何将值附加到 NodeJS 中的 PATH 环境变量?
How to append values to the PATH environment variable in NodeJS?
按照问题中建议的答案 -
Is it possible to permanently set environment variables?
我能够使用命令永久设置新的环境变量 -
spawnSync('setx', ['-m', 'MyDownloads', 'H:\temp\downloads'])
但现在我的目标是将新值附加到 PATH 环境变量。
可能吗?
运行 您的脚本具有管理员权限:
- 使用管理员打开 cmd 或 PowerShell
- 运行
node your_script.js
- 要附加
PATH
变量,您可以设置值为:%PATH%;your_new_value here
(%PATH%
获取旧值)
如果你运行使用电子应用程序,你应该需要管理员权限。
不要忘记 setx
运行 window
为什么不直接获取环境变量然后附加到它?
即
const {spawnSync} = require("child_process");
const current_value = process.env.PATH;
const new_path_value = current_value.concat(";", "/some/new/path");
var result = spawnSync('setx', ['-m', 'PATH', new_path_value])
// STDOUT
var stdOut = result.stdout.toString();
console.log(stdOut)
// STDERR
var stdErr = result.stderr.toString();
if(stdErr === '') {
console.log('Successfully set environment variable')
} else {
console.log(`ERROR: ${stderr}`)
}
根据您提供的 link 建议,以管理员身份更新“/some/new/path”和 运行,它应该可以工作。
我无权修改我的注册表,我也不想调用 OS 命令,例如 setx
.
以下向 Windows PATH 添加了一个附加组件。然后我 运行 使用新设置的 Selenium。
// Display current value of PATH
const current_value = process.env.PATH;
console.log("PREV VALUE:")
console.log(current_value)
// Add the additional entry
const addl_entry = String.raw`\my\new\path\component`
process.env["PATH"] = addl_entry + ";" + current_value
// Display the new value
console.log("NEW VALUE:")
console.log(process.env.PATH)
按照问题中建议的答案 -
Is it possible to permanently set environment variables?
我能够使用命令永久设置新的环境变量 -
spawnSync('setx', ['-m', 'MyDownloads', 'H:\temp\downloads'])
但现在我的目标是将新值附加到 PATH 环境变量。
可能吗?
运行 您的脚本具有管理员权限:
- 使用管理员打开 cmd 或 PowerShell
- 运行
node your_script.js
- 要附加
PATH
变量,您可以设置值为:%PATH%;your_new_value here
(%PATH%
获取旧值)
如果你运行使用电子应用程序,你应该需要管理员权限。
不要忘记 setx
运行 window
为什么不直接获取环境变量然后附加到它?
即
const {spawnSync} = require("child_process");
const current_value = process.env.PATH;
const new_path_value = current_value.concat(";", "/some/new/path");
var result = spawnSync('setx', ['-m', 'PATH', new_path_value])
// STDOUT
var stdOut = result.stdout.toString();
console.log(stdOut)
// STDERR
var stdErr = result.stderr.toString();
if(stdErr === '') {
console.log('Successfully set environment variable')
} else {
console.log(`ERROR: ${stderr}`)
}
根据您提供的 link 建议,以管理员身份更新“/some/new/path”和 运行,它应该可以工作。
我无权修改我的注册表,我也不想调用 OS 命令,例如 setx
.
以下向 Windows PATH 添加了一个附加组件。然后我 运行 使用新设置的 Selenium。
// Display current value of PATH
const current_value = process.env.PATH;
console.log("PREV VALUE:")
console.log(current_value)
// Add the additional entry
const addl_entry = String.raw`\my\new\path\component`
process.env["PATH"] = addl_entry + ";" + current_value
// Display the new value
console.log("NEW VALUE:")
console.log(process.env.PATH)