mirror of
https://github.com/aljazceru/pear-docs.git
synced 2025-12-17 14:34:19 +01:00
windows PATH
This commit is contained in:
@@ -174,22 +174,13 @@ customElements.define('system-status', class extends HTMLElement {
|
||||
fs.writeFileSync(cmdtmp, `@echo off\n"${runtime}" %*`)
|
||||
fs.renameSync(cmdtmp, path.join(BIN, 'pear.cmd'))
|
||||
return new Promise((resolve, reject) => {
|
||||
spawn('cmd', ['/c', `setx PATH "${BIN};%PATH%"`]).on('exit', (code) => {
|
||||
const codes = [code]
|
||||
spawn('powershell', ['-Command', `$env:PATH = "${BIN};$env:PATH"`]).on('exit', (code) => {
|
||||
codes.push(code)
|
||||
if (codes[0] + codes[1] !== 0) {
|
||||
reject(new Error(
|
||||
'Failed to set PATH in' + [
|
||||
codes[0] ? ' cmd - exit code: ' + codes[0] : '',
|
||||
codes[1] ? ' powershell - exit code:' + codes[1] : ''
|
||||
].filter(Boolean)
|
||||
))
|
||||
return
|
||||
}
|
||||
process.env.PATH = `${BIN};${process.env.PATH}`
|
||||
resolve()
|
||||
})
|
||||
spawn('powershell', ['-Command', `[System.Environment]::SetEnvironmentVariables("PATH", "${BIN};${process.env.PATH}", "User")`]).on('exit', (code) => {
|
||||
if (code !== 0) {
|
||||
reject(new Error('Failed to set PATH'))
|
||||
return
|
||||
}
|
||||
process.env.PATH = `${BIN};${process.env.PATH}`
|
||||
resolve()
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user