如何使用节点pty创建bash shell



我的操作系统是windows。我想使用xterm和node-pty创建一个bash shell。有这样一行代码:

this.shell = os.platform() === 'win32' ? 'powershell.exe' : 'bash';

使用它在浏览器中呈现终端。现在假设我写:

this.shell = os.platform() === 'win32' ? 'bash' : 'powershell.exe';
this.shell = os.platform() === 'linux' ? 'powershell.exe' : 'bash';

为什么bash shell没有被渲染。它给了我这个错误:

D:DE_projlinuxterminalservernode_modulesnode-ptylibwindowsPtyAgent.js:75
term = this._ptyNative.startProcess(file, cols, rows, debug, this._generatePipeName(), conptyInheritCursor);
^
Error: File not found:
at new WindowsPtyAgent (D:DE_projlinuxterminalservernode_modulesnode-ptylibwindowsPtyAgent.js:75:36)
at new WindowsTerminal (D:DE_projlinuxterminalservernode_modulesnode-ptylibwindowsTerminal.js:50:24)
at Object.spawn (D:DE_projlinuxterminalservernode_modulesnode-ptylibindex.js:28:12)
at PTY.startPtyProcess (D:DE_projlinuxterminalserverPTYService.js:16:27)
at new PTY (D:DE_projlinuxterminalserverPTYService.js:11:10)
at Namespace.<anonymous> (D:DE_projlinuxterminalserverSocketService.js:40:18)
at Namespace.emit (events.js:315:20)
at Namespace.emitReserved (D:DE_projlinuxterminalservernode_modulessocket.iodisttyped-events.js:56:22)
at D:DE_projlinuxterminalservernode_modulessocket.iodistnamespace.js:140:26
at processTicksAndRejections (internal/process/task_queues.js:75:11)
[nodemon] app crashed - waiting for file changes before starting...

对不起,我对这个问题很陌生。。。

Bash将不会在windows上运行,除非您使用诸如minTTY之类的虚拟环境(如果您有Git Bash,则您有一个功能齐全的Bash shell,但没有几个功能(,或者您安装了WSL2。

Linux和windows运行不同类型的程序。Bash是为Linux构建的。

Windows只运行.exe、.bat、.dll等文件类型。Bash没有文件类型。他们有一些第三方端口可用,但自从Windows发布WSL2(在Windows 10中创建Linux外壳(以来,他们的需求就不多了。

你最好的选择是在你的机器上启用WSL2,或者下载git Bash。

相关内容

  • 没有找到相关文章

最新更新