如何解决Node.js Git Bash环境下初始化TTY时的ERR_TTY_INIT_FAILED错误?
解决Git Bash中执行
npx vitepress init时的ERR_TTY_INIT_FAILED错误 在Git Bash环境下执行npx vitepress init初始化VitePress项目时,遇到TTY初始化失败错误,具体报错信息如下:
node:internal/errors:490 ErrorCaptureStackTrace(err); ^ SystemError [ERR_TTY_INIT_FAILED]: TTY initialization failed: uv_tty_init returned EBADF (bad file descriptor) at new SystemError (node:internal/errors:250:5) at new NodeError (node:internal/errors:361:7) at new WriteStream (node:tty:93:11) at oD.prompt (file:///D:/Shirish/github/vitepress-documentation/node_modules/vitepress/dist/node/serve-d5608de4.js:56564:714) at J (file:///D:/Shirish/github/vitepress-documentation/node_modules/vitepress/dist/node/serve-d5608de4.js:56579:7) at root (file:///D:/Shirish/github/vitepress-documentation/node_modules/vitepress/dist/node/serve-d5608de4.js:58671:19) at $e (file:///D:/Shirish/github/vitepress-documentation/node_modules/vitepress/dist/node/serve-d5608de4.js:56596:95) at init (file:///D:/Shirish/github/vitepress-documentation/node_modules/vitepress/dist/node/serve-d5608de4.js:58669:25) at file:///D:/Shirish/github/vitepress-documentation/node_modules/vitepress/dist/node/cli.js:420:5 at ModuleJob.run (node:internal/modules/esm/module_job:194:25) { code: 'ERR_TTY_INIT_FAILED', info: { errno: -4083, code: 'EBADF', message: 'bad file descriptor', syscall: 'uv_tty_init' }, errno: [Getter/Setter], syscall: [Getter/Setter] }
可行解决方法
切换到Windows Terminal执行命令
打开Windows Terminal,导航到目标项目目录后重新运行npx vitepress init。Windows Terminal对TTY环境的兼容性更强,能规避这类文件描述符异常。在Git Bash中使用winpty前缀
执行命令时添加winpty,强制创建兼容的伪终端环境:winpty npx vitepress init手动完成VitePress项目初始化
如果交互式初始化始终报错,可跳过引导手动搭建项目:- 创建项目目录并初始化npm:
mkdir vitepress-docs && cd vitepress-docs npm init -y - 安装VitePress依赖:
npm install vitepress --save-dev - 修改
package.json添加脚本:{ "scripts": { "docs:dev": "vitepress dev docs", "docs:build": "vitepress build docs", "docs:preview": "vitepress preview docs" } } - 创建文档目录和首页文件:
mkdir docs && echo '# Hello VitePress' > docs/index.md - 启动开发服务器验证:
npm run docs:dev
- 创建项目目录并初始化npm:
内容的提问来源于stack exchange,提问作者Shirish Dhotre
相关产品推荐
相关产品推荐

