问题标签 [node-pty]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
225 浏览

bash - 将自定义命令与侧面应用程序一起添加到终端

我正在开发一个应用程序,我们在电子应用程序中使用xtermjsnode-pty 。我们正在向我们的应用程序添加一个终端,并希望添加一些在终端中使用的与我们的应用程序相关的自定义命令。

添加这些命令有哪些选项?

  • 我们希望它们与应用程序一起安装。
  • 它们不必在“外部”终端内可用,但如果它们是可以的。外部,我的意思是你的普通终端。不是我们的 xterm 和 node-pty 实现。
  • 我们希望它们的行为与其他普通的 unix 命令相同。您可以在哪里使用其他命令 && 它们在一起和东西。

我玩过在 xterm 和 node-pty 之间拦截命令,那是一场灾难。我现在正在考虑,只需为命令编写 bash 脚本,并让安装程序管理将它们放在需要的位置,以便可以使用它们。

只是想知道我的选择是什么,谢谢。

0 投票
1 回答
686 浏览

npm-install - 无法安装 node-pty-prebuilt - 错误太多

我正在尝试运行expo opt-in-google-play-signing,但在粘贴以下加密密钥后会引发错误:

最初,当我运行建议的 npm install 时,我遇到了一个已解决的权限问题,sudo chown -R $USER /usr/local/lib/node_modules但是当我运行该解决方案时npm -g install node-pty-prebuilt,它再次失败:

如果使用 sudo 运行,我会得到:

这次运行 chown 脚本似乎并没有解决上述访问问题,给出:

这是在 Mojave 上的 macbook 上作为管理员帐户运行的。

0 投票
0 回答
668 浏览

node.js - 使用 npm 安装 node-pty libaray 时出错

根据文档使用 npm 安装 node.js 的 node-pty 模块时出现以下错误我使用以下命令npm i node-pty -g 我的系统和节点版本在下面列出,并且窗口构建工具也安装版本 2017 和 2015 也 npm i node-gyp -g命令成功运行.
操作系统:Windows 10 专业
版:18363
节点:12.16.3
npm:6.14.4

0 投票
1 回答
265 浏览

node.js - 使用 pty / process.stdin / process.stdout 后无法让节点完全退出

我正在努力从 node 和 node-pty 获得我想要的行为。执行此代码后,节点似乎没有完全退出。寻找关于我所缺少的东西的提示。我已经将事情提炼成一个小例子来演示。当你执行代码时,它会产生 /bin/sh。一旦你退出那个 shell,它就会产生第二个 /bin/sh (以同样的方式)。退出该外壳后,节点将挂起。

示例会话:

0 投票
1 回答
1028 浏览

xtermjs - 如何结合 node-pty 和 xterm

我使用服务器上的 node-pty、客户端上的 ng-termianl (xterm.js) 和用于通信的 socket.io 向我的 Web 应用程序添加了一个终端。我基本上可以正常工作,但我有一些问题,也许我让事情变得复杂,所以这里有一些问题:

  1. 我需要在 xterm 中实现哪些任务以及我应该期望 node-pty 处理什么。
  • 创建一个历史缓冲区来处理向上/向下箭头。
  • 创建终端提示符
  • 手左右箭头
  1. 在 node-pty 中列出数据事件时,我得到了回显命令、响应和新的终端行。过滤掉任何不是对发出命令的响应的数据事件的最佳方法是什么?有时回显的命令是

  2. 如何为 node-pty 列数选择一个值?pty 列的数量是否需要与 xterm 中的列数匹配?如果用户在 xterm 中键入的命令很长,则回显的命令会在发出的命令的 pty 回显中混乱。

0 投票
1 回答
2479 浏览

python - 安装生产 windows-build-tools 时“成功安装 Python 2.7”后安装挂起

尝试使用以下命令安装 windows-build-tools

但似乎它在安装 python2.7 后挂起。我已经等了将近 30 分钟,但没有继续前进。有什么解决办法??

---------- Visual Studio 构建工具 ---------- [021C:1D04][2021-03-24T19:18:58]i000: MUX: Next Source: Web, Attempted :1,限制:3 [021C:1D04][2021-03-24T19:18:58]i000:MUX:检索到的源:Web [021C:1D04][2021-03-24T19:18:58]i000:MUX: Package:VC_CRT_ARM_Desktop, PayloadId:cab41658CA9BF562A2EE31DDCEC6EE7ABBF Url: http://go.microsoft.com/fwlink/?prd=12514&pver=Dev14&sbp=d14rel&plcid=0x409&clcid=0x409&ar=25420.01&sar=S80_RCPrep&o1=862E760128D21CD3AB6F447CFCCFAF6A928536F0, Attempting count: 1 [021C:1D04] [2021-03-24T19:18:58]i000: MUX: Existing last unconfirmed source: Web [021C:1D04][2021-03-24T19:18:58]i338: Acquiring package: VC_CRT_ARM_Desktop, payload: cab41658CA9BF562A2EE31DDCEC6EE7ABBF, 下载自:http://go.microsoft.com/fwlink/?prd=12514&pver=Dev14&sbp=d14rel&plcid=0x409&clcid=0x409&ar=25420.01&sar=S80_RCPrep&o1=862E760128D21CD3AB6F447CFCCFAF6A928536F0 -------------------- Python -------------------- 安装成功蟒蛇 2.7

在此处输入图像描述

0 投票
0 回答
206 浏览

node.js - 如何将 node-pty 重新初始化为不同的 shell 类型?

我正在使用 xterm.js、react 和 node-pty 设置浏览器内终端。我已经通过 websockets 在服务器上运行了 node-pty 进程。终端实际工作,它在反应 UI 中可见。我可以使用以下方法将终端初始化为nodepython3首次加载:

我可以像这样杀死这个过程:

只要在 UI 的终端中输入字符,就会触发此侦听器。

这感觉不像是处理这个问题的惯用方式,但我想做的是从 UI 中的 websocket 发出一条消息,这取决于反应状态,并node-pty使用不同的初始 shell 重新生成一个新终端,即从 切换nodepython3

我发现销毁终端所在的 HTML 节点会导致open服务器上的侦听器再次触发,但我认为重新打开时不可能包含消息。

我的问题是,如何重新生成node-pty进程并动态更改 shell 类型?

0 投票
1 回答
83 浏览

bash - 如何使用 node-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。它给了我这个错误:

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

0 投票
0 回答
77 浏览

javascript - 需要 node-pty 导致 TypeError: Object.setPrototypeOf: expected an object or null, got undefined

TL;DR:如果我尝试做var pty = require('node-pty');结果以TypeError: Object.setPrototypeOf: expected an object or null, got undefined继续阅读上下文

嗨,我正在尝试通过使用 React 创建终端来构建概念证明。为此,我使用了 xterm-for-react,使它工作正常,而最后一个库的node-pty是我遇到问题的那个。最初我创建了一个文件,我会在其中尝试调用它,它看起来像这样:

我知道它可能不是最好的代码,但我这样做只是为了看看这是否可能。我的计划是从 react 组件中调用函数,如下所示:

但我很惊讶这不起作用,并返回标题中的错误。因此,为了减少噪音,我尝试将我的功能更改为仅控制台日志并满足要求。我的文件现在看起来像这样:

仍然得到同样的错误。我目前不确定这是否可行,或者为什么会发生此错误。尝试在网上查看内容并没有给出任何结果,或者它可能确实有,但我只是做得不对。好吧,感谢阅读,我完全迷路了,所以,如果有人知道一些事情,即使它不是完整的答案,我也会非常感激

0 投票
1 回答
70 浏览

java - /app/.jdk/bin/java:无法在 Heroku 上使用 node-pty 执行二进制文件

我正在尝试创建一个 node-pty 进程。在本地开发时,这工作正常,没有问题。但是,当它在 Heroku 上运行时,它会给出错误:/app/.jdk/bin/java: cannot execute binary file

我尝试用 just 运行它["java"],这给出了同样的错误。因此,它无法启动 java 二进制文件。

但是,当我手动键入命令时,它工作得很好。

知道如何解决这个问题吗?