运行代码增加 path

This commit is contained in:
purocean
2021-01-13 14:35:34 +08:00
parent 6a051ec938
commit f6d0099212
+10 -3
View File
@@ -6,6 +6,7 @@ import * as wsl from './wsl'
import config from './config'
const isWsl = wsl.isWsl
const isWin = os.platform() === 'win32'
const runCode = (language: string, code: string) => {
try {
@@ -17,7 +18,7 @@ const runCode = (language: string, code: string) => {
js: { cmd: 'node', args: ['-e'] },
} as {[key: string]: {cmd: string, args: string[]}}
if (language === 'bat') {
if (language === 'bat' && isWin) {
const fileName = 'yn-run-cmd.bat'
code = code.split('\n').slice(1).join('\n') // 去掉第一行的注释
if (isWsl) {
@@ -36,15 +37,21 @@ const runCode = (language: string, code: string) => {
return `不支持 ${language} 语言`
}
const useWsl = os.platform() === 'win32' && config.get('runCodeUseWsl', false)
const useWsl = isWin && config.get('runCodeUseWsl', false)
if (useWsl) {
return execFileSync('wsl.exe', ['--', runParams.cmd].concat(runParams.args).concat([code])).toString()
}
const env = { ...process.env }
const extPath = '/usr/local/bin'
if (!isWin && env.PATH.indexOf(extPath) < 0) {
env.PATH = `${extPath}:${env.PATH}`
}
return execFileSync(
runParams.cmd,
runParams.args.concat([code]),
{ env: process.env }
{ env }
).toString()
} catch (e) {
return e.message