[RN] 오류 해결 TypeError: Invalid character in header content ["X-React-Native-Project-Root"]

Demian·2024년 11월 17일

RN

목록 보기
1/1

expo로 quick start한 이후,

npx expo start

입력했더니

TypeError: Invalid character in header content ["X-React-Native-Project-Root"]
    at ServerResponse.setHeader (node:_http_outgoing:655:3)
    at C:\Users\바탕 화면\sideProject\learnRN\todoapp\node_modules\@expo\cli\src\start\server\metro\dev-server\createMetroMiddleware.ts:71:9

이라는 오류가 발생했다.

\node_modules\@expo\cli\src\start\server\metro\dev-server\createMetroMiddleware.ts

해당 경로에서 createMetroMiddleware.ts 파일 안에

function createMetroStatusMiddleware(metroConfig) {
    return (_req, res)=>{
        res.setHeader("X-React-Native-Project-Root", metroConfig.projectRoot);
        res.end("packager-status:running");
    };
}
metroConfig.projectRoot -> new URL(metroConfig.projectRoot)

new URL( )로 감싸주면 해결.

추가
GPT한테 나중에 물어보니
"이 오류는 HTTP 헤더에 허용되지 않는 문자가 포함되어 발생합니다.
특히 "X-React-Native-Project-Root" 헤더에 경로 문자열이 들어가는데, 윈도우 경로에 한글, 공백, 특수문자가 포함되어 있으면 문제가 생길 수 있습니다."
라고한다.

0개의 댓글