본문 바로가기
  • 아하하
개발

Supabase와 Node.js 개발 환경 문제 해결 노트

by 쥬쥬파파 2025. 4. 29.

 

Supabase 시작과 데이터베이스 연결, 그리고 보안

Supabase란 무엇인가?

Supabase는 오픈 소스 기반의 Backend as a Service(BaaS) 플랫폼으로, PostgreSQL 데이터베이스, 실시간 동기화, 인증, 파일 스토리지, 서버리스 함수 등 다양한 백엔드 기능을 제공합니다. Firebase의 오픈 소스 대안으로 각광받고 있으며, 빠른 개발과 강력한 데이터 모델링, 실시간 기능이 특징입니다.

Supabase 사용 방법

  1. Supabase 회원가입 후 프로젝트 생성
  2. API 정보(프로젝트 URL, 공개 키) 확인
  3. 대시보드에서 테이블 및 RLS(행 수준 보안) 정책 설정
  4. 클라이언트에서 공식 SDK로 연결 및 데이터 연동

참고: 무료 플랜에서도 대부분의 기능을 사용할 수 있으며, 실제 서비스에서는 보안 정책(RLS) 설정에 주의하세요.

데이터베이스 연결 문자열과 보안

Supabase의 데이터베이스 연결 문자열에서 비밀번호는 암호화하지 않고, 프로젝트 생성 시 입력한 평문 그대로 사용합니다. 이 문자열은 서버 환경변수나 비공개 설정 파일에만 저장하고, 클라이언트 코드나 공개 저장소에는 절대 노출하지 않아야 합니다. Supabase는 RLS 등 다양한 보안 기능을 제공하므로, 꼭 활성화해서 안전하게 운영하세요.

태그: #Supabase #백엔드 #데이터베이스 #보안 #BaaS

Node.js, npm 개발 환경 문제와 해결 방법

Node.js 버전 확인 및 환경 변수 문제

node -vnpm -v로 현재 설치된 버전을 확인할 수 있습니다. VSCode 터미널과 Windows CMD에서 서로 다른 Node.js 버전이 나오는 경우, 환경 변수(PATH) 설정이나 nvm(Node Version Manager) 사용 여부를 확인해야 합니다. 각 터미널에서 where node 명령으로 실행 경로를 점검하고, 필요하다면 cross-env나 .nvmrc로 버전을 통일하세요.

npm run dev 실행 오류와 해결법

  • PowerShell에서 npm 명령 오류: 실행 정책을 Set-ExecutionPolicy RemoteSigned로 변경
  • NODE_OPTIONS 관련 오류: Windows에서는 cross-env 패키지를 사용해 환경 변수를 설정(npm install --save-dev cross-env 후 스크립트 수정)
  • Electron/Cypress 등에서 NODE_OPTIONS 미지원: NODE_OPTIONS 환경변수 제거 또는 지원되는 옵션만 사용
  • 서버 미기동: package.json의 scripts, 의존성 설치, 포트 충돌, Node.js 버전, 에러 메시지 등 점검

package.json에서 주석 처리 방법

JSON 표준상 주석을 지원하지 않으므로, "//" 또는 "_comment"와 같은 키를 사용해 설명을 남길 수 있습니다. 예시는 아래와 같습니다.

{
  "//": "이 부분은 주석처럼 사용할 수 있습니다.",
  "_comment": "이 프로젝트는 예시입니다."
}

그러나 이 값도 데이터로 인식되므로, 꼭 필요한 경우에만 사용하고, 중요한 설명은 README 등 별도 문서에 남기는 것이 더 안전합니다.

반응형