๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

dev-troubleshooting

npm ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์„ค์น˜ ์‹œ ETIMEDOUT ์˜ค๋ฅ˜ ์›์ธ๊ณผ ํ•ด๊ฒฐ (registry ๋ฌธ์ œ)

msw๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์„ค์น˜๋ฅผ ์ง„ํ–‰ํ–ˆ๋‹ค.

npm i msw --save-dev

 

๋ณดํ†ต ์˜ค๋ž˜ ๊ฑธ๋ ค๋„ 1~2๋ถ„์ด๋ฉด ์„ค์น˜๊ฐ€ ์™„๋ฃŒ๋˜๋Š”๋ฐ 10๋ถ„ ๋„˜๊ฒŒ ์„ค์น˜ ์ค‘์ธ ๊ฒŒ ์ด์ƒํ–ˆ๋‹ค.

๊ทธ๋ž˜์„œ ์บ์‹œ ์‚ญ์ œ ํ›„ ์žฌ์„ค์น˜ํ–ˆ์ง€๋งŒ ๋˜‘๊ฐ™์€ ํ˜„์ƒ์ด ๋ฐ˜๋ณต๋˜์—ˆ๊ณ  ํ•œ์ฐธ ๊ธฐ๋‹ค๋ฆฐ ๋์— ๋‚˜์˜ค๋Š” ๊ฑด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€์˜€๋‹ค.

npm error code ETIMEDOUT 
npm error syscall connect 
npm error errno ETIMEDOUT 
npm error network request to https://registry.npmjs.org/msw failed, reason: connect ETIMEDOUT 104.16.6.34:443 
npm error network This is a problem related to network connectivity. 
npm error network In most cases you are behind a proxy or have bad network settings. 
npm error network 
npm error network If you are behind a proxy, please make sure that the 
npm error network 'proxy' config is set properly. See: 'npm help config' 
npm error A complete log of this run can be found in:

 

์—๋Ÿฌ ๋ฉ”์‹œ์ง€๋ฅผ ํ•ด์„ํ•ด ๋ณด๋ฉด ์ด๊ฑด msw๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ๋ฌธ์ œ๋ณด๋‹ค๋Š” npm registry ๋„คํŠธ์›Œํฌ ์—ฐ๊ฒฐ์ด ํƒ€์ž„์•„์›ƒ๋˜์–ด ๋ฐœ์ƒํ•˜๋Š” ํ˜„์ƒ์ด๋ผ๋Š” ๊ฑธ ํ™•์ธํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.

๋”ฐ๋ผ์„œ ์ž˜ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ–ˆ๋‹ค.

 

1. ๋„คํŠธ์›Œํฌ๊ฐ€ npm registry์— ๋‹ฟ๋Š”์ง€ ํ™•์ธํ•ด ๋ณด๊ธฐ

curl -I https://registry.npmjs.org/msw

 

์œ„์˜ ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด ๋‹ค์Œ๊ณผ ๊ฐ™์ด 200 ์ฝ”๋“œ๊ฐ€ ๋‚˜์™”์œผ๋ฏ€๋กœ ๋„คํŠธ์›Œํฌ๊ฐ€ npm registry์— ์ •์ƒ์ ์œผ๋กœ ๋‹ฟ๊ณ  ์žˆ๋‹ค๋Š” ๊ฑธ ํ™•์ธํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.

HTTP/2 200 
date: Thu, 29 Jan 2026 07:28:44 GMT 
content-type: application/json 
server: cloudflare 
cf-ray: 9c5703b31f3ec6c3-ICN 
cf-cache-status: HIT 
accept-ranges: bytes 
access-control-allow-origin: * 
age: 64 
cache-control: public, max-age=300 
etag: "e9134face2a3bcbf37f3fe0b81dfc522" 
last-modified: Sat, 27 Dec 2025 19:27:53 GMT 
vary: accept-encoding, accept 
set-cookie: _cfuvid=d3frAGqbsq5XPC0EMx1qudC4t.z..z5.gCVbenFvzYI-1769671724034-0.0.1.1-604800000; path=/; domain=.npmjs.org; HttpOnly; Secure; SameSite=None

๊ทธ๋ž˜์„œ ๊ทธ๋‹ค์Œ ํ”„๋ก์‹œ ์„ค์ •์ด ์ž˜ ๋˜์–ด์žˆ๋Š”์ง€ ํ™•์ธํ•ด ๋ณด๊ธฐ๋กœ ํ–ˆ๋‹ค.

2. npm ํ”„๋ก์‹œ ์„ค์ •์ด ๊ผฌ์—ฌ์žˆ๋Š”์ง€ ํ™•์ธํ•ด ๋ณด๊ธฐ

npm config get proxy
npm config get https-proxy
npm config get registry

 

์œ„ ๋ช…๋ น์–ด ์ž…๋ ฅ ์‹œ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋‚˜์™”๋‹ค.

aseukeuseutoliui-MacBookAir:$ npm config get proxy 
null 
aseukeuseutoliui-MacBookAir:$ npm config get https-proxy null aseukeuseutoliui-MacBookAir: npm config get registry https://registry.npmmirror.com

 

registry๊ฐ€  https://registry.npmmirror.com  (์ค‘๊ตญ๋ฏธ๋Ÿฌ)๋ฅผ ๊ฐ€๋ฆฌ์ผœ์„œ ๋ฐœํ–‰ํ•˜๋Š” ํƒ€์ž„์•„์›ƒ ํ˜„์ƒ์ด์—ˆ๋‹ค.

๋‚ด๊ฐ€ ์ž˜๋ชป ์„ค์ •ํ•œ ๊ฒŒ ์žˆ๋‚˜ ์‹ถ์—ˆ๋Š”๋ฐ ์ข…์ข… ์žˆ๋Š” ์ผ์ด๋ผ๊ณ  ํ•œ๋‹ค.

๋”ฐ๋ผ์„œ registry๋ฅผ ๊ณต์‹ npm์œผ๋กœ ๋˜๋Œ๋ฆฌ๊ธฐ๋กœ ํ–ˆ๋‹ค.

3. registry๋ฅผ ๊ณต์‹ npm์œผ๋กœ ๋˜๋Œ๋ฆฌ๊ธฐ

npm config set registry https://registry.npmjs.org/

4. ์ž˜ ๋ณ€๊ฒฝ๋๋Š”์ง€ ํ™•์ธ

npm config get registry

 

๋‹ค์Œ๊ณผ ๊ฐ™์ด ๊ณต์‹ npm์œผ๋กœ ์ถœ๋ ฅ๋˜๋Š” ๊ฑธ ๋ณด๋‹ˆ ์ •์ƒ์ ์œผ๋กœ ๋ฐ”๋€ ๊ฑธ ํ™•์ธํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.

aseukeuseutoliui-MacBookAir: npm config get registry https://registry.npmjs.org/

๊ทธ๋ž˜์„œ ๋‹ค์‹œ ๋‚ด๊ฐ€ ์„ค์น˜ํ•˜๊ณ ์ž ํ•˜๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์„ค์น˜ํ•œ ๊ฒฐ๊ณผ ์•„์ฃผ ๋น ๋ฅด๊ฒŒ ์„ค์น˜๋˜์—ˆ๋‹ค.

 

์›์ธ ์š”์•ฝ
npm registry๊ฐ€ ๊ณต์‹ npm์ด ์•„๋‹Œ npmmirror.com(์ค‘๊ตญ ๋ฏธ๋Ÿฌ)๋ฅผ ๊ฐ€๋ฆฌํ‚ค๊ณ  ์žˆ์—ˆ๊ณ ,
ํ•ด๋‹น ๋ฏธ๋Ÿฌ์™€์˜ ๋„คํŠธ์›Œํฌ ์—ฐ๊ฒฐ์ด ํƒ€์ž„์•„์›ƒ๋˜๋ฉด์„œ ์„ค์น˜๊ฐ€ ์ง€์—ฐ๋˜์—ˆ๋‹ค.

 

 

๋!