본문 바로가기
PulseBoard

🔥 Firebase Functions 시작하다가 npm 에러와 경고를 만났을 때 정리

by 밤새는 탐험가89 2025. 12. 24.
728x90
SMALL

Firebase Cloud Functions를 사용하기 위해
Firebase CLI를 설치하려고 아래 명령어를 실행했다.

npm install -g firebase-tools

 

하지만 처음에는 다음과 같은 에러를 만났다.

command not found: npm

 

이 글은
👉 왜 이런 에러가 발생했는지
👉 어떤 순서로 해결해야 하는지
👉 설치 중 나타난 경고 메시지는 무엇을 의미하는지
를 정리한 기록이다.

 

❌ 1. command not found: npm 에러의 원인

결론부터 말하면, npm이 설치되지 않은 상태였다.

여기서 중요한 사실 하나 👇

npm은 단독으로 설치할 수 있는 도구가 아니다.
npm은 Node.js에 포함된 패키지 관리자다.

 

즉,

  • Node.js ❌ → npm ❌
  • Node.js ✅ → npm ✅

Firebase Cloud Functions는 Node.js 기반이기 때문에
Node.js가 먼저 설치되어 있어야 한다.

 

🔗 Node / npm / nvm 관계 정리

헷갈리지 않게 한 번에 정리하면 다음과 같다.

nvm → Node.js → npm

 

  • Node.js: JavaScript 실행 환경
  • npm: Node.js 패키지 관리자
  • nvm: Node.js 버전 관리자

👉 npm은 Node.js에 포함되어 있고,
👉 nvm은 Node.js를 설치·관리하기 위한 도구다.

 

❓ 왜 Node.js를 바로 설치하지 않고 nvm을 쓰는가?

macOS + Firebase 환경에서는 nvm 사용이 사실상 정석이다.

이유 1. Firebase는 Node 버전에 민감하다

Firebase Cloud Functions는
지원하는 Node 버전이 명확히 정해져 있다.

  • 현재 권장 버전: Node 18

nvm을 사용하면:

nvm install 18
nvm use 18

 

👉 버전 충돌 없이 정확하게 맞출 수 있다.

 

이유 2. 권한(EACCES) 에러를 피할 수 있다

Node를 직접 설치하면 종종 이런 에러를 만난다.

EACCES: permission denied

 

그래서 sudo npm install -g ... 를 쓰게 되는데,
이건 권장되지 않는 패턴이다.

nvm은:

  • 홈 디렉토리에 Node 설치
  • sudo 필요 없음
  • 글로벌 패키지 설치도 안전

 

✅ 2. 올바른 설치 순서

1️⃣ nvm 설치

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash

 

⚠️ 설치 후 터미널을 반드시 완전히 종료했다가 다시 실행

2️⃣ nvm 설치 확인

nvm --version

 

3️⃣ Node.js 설치 (Firebase 권장 버전)

nvm install 18
nvm use 18

4️⃣ Firebase CLI 설치

이제 다시 처음에 실패했던 명령어를 실행한다.

npm install -g firebase-tools

 

⚠️ 3. 설치 중 나타난 경고(warn) 메시지 해석

Firebase CLI 설치 중 다음과 같은 메시지가 출력되었다.

npm warn deprecated node-domexception@1.0.0:
Use your platform's native DOMException instead

changed 607 packages in 5s

77 packages are looking for funding
run `npm fund` for details

 

이 메시지들은 에러가 아니다.

 

🔸 npm warn deprecated ...

  • firebase-tools 내부 의존성 중 하나가
  • 더 이상 권장되지 않는(deprecated) 패키지를 사용하고 있다는 알림
  • 내 코드 문제 아님
  • 설치 실패 아님

👉 대형 npm 패키지에서는 매우 흔한 경고다.

 

🔸 changed 607 packages in 5s

  • 패키지 설치/업데이트가 정상적으로 완료되었다는 의미
  • 문제 없음

 

🔸 packages are looking for funding

  • 오픈소스 패키지 후원 안내
  • 과금 ❌
  • 무시해도 됨

 

✅ 4. 정상 설치 확인 방법

아래 명령어로 확인한다.

firebase --version

 

버전 번호가 출력되면
Firebase CLI 설치는 정상적으로 완료된 상태다.

728x90
LIST