You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何解决Node.js中“ENXIO: no such device or address, open '/dev/tty'”错误?

解决Node.js中"ENXIO: no such device or address, open '/dev/tty'"错误

这个错误是因为prompt-sync需要直接访问终端(TTY)获取用户输入,但VS Code默认的代码运行方式(比如用Run Code插件直接执行却未关联交互式终端)无法提供TTY设备,从而触发报错。以下是几种可行的解决方法:

方法一:通过VS Code集成终端手动运行

  • 打开VS Code集成终端(快捷键`Ctrl+``)
  • 切换到代码所在目录:
    cd /home/frankie/Desktop/JS
    
  • 用Node命令直接执行脚本:
    node SkillsBuild.js
    
    此时终端会弹出输入提示,直接输入内容就能正常运行代码。

方法二:配置Run Code插件使用终端运行(若使用该插件)

如果你习惯点击Run Code按钮执行代码,调整插件设置即可:

  • 打开VS Code设置(快捷键Ctrl+,)
  • 搜索"Run Code Configuration"
  • 找到并勾选"Run In Terminal"选项
    之后点击Run Code按钮时,代码会在集成终端中运行,支持交互式输入。

方法三:改用命令行参数传递输入(非交互式场景)

如果不需要实时交互式输入,也可以通过命令行参数传入数据:
修改代码为:

const name1 = process.argv[2];
const name2 = process.argv[3];
console.log("Your full name is ", name1, name2);

运行时直接传入参数:

node SkillsBuild.js 你的名字 你的姓氏

内容的提问来源于stack exchange,提问作者Frankie Chan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 04:44:58