各位大佬,请教一个问题,我想在 nodejs 环境下运行 nvm for windows 的指令,但是在 nvm(使用go语言) 最近更新的版本里,发现新增了终端检测代码:
if !isTerminal() {
alert("NVM for Windows should be run from a terminal such as CMD or PowerShell.", "Terminal Only")
os.Exit(0)
}
// Capture any additional arguments
if len(args) > 2 {
detail = args[2]
@@ -180,6 +185,102 @@ func setNpmMirror(uri string) {
saveSettings()
}
func isTerminal() bool {
fileInfo, err := os.Stdout.Stat()
if err != nil {
return false
}
return (fileInfo.Mode() & os.ModeCharDevice) != 0
}
请问我可以绕开这个检测吗
希望在nodejs环境下可以执行nvm ls
等指令,使用过child_process
中的exec
方法但是无法绕开go中的终端检测。