개발 도구를 사용하기 위해 PATH를 설정했는데, 터미널을 닫고 다시 열 때마다 환경변수가 사라져 매번 같은 명령어를 입력하고 계신가요? 이는 현재 세션에만 영향을 주는 일시적인 설정 방식 때문입니다.

이 글에서는 맥의 zsh 환경에서 환경변수를 다시 설정하는 불편함을 영구적으로 해결하는 방법을, 3단계의 구체적인 과정으로 명확하게 정리해 드립니다.
– 터미널 세션의 휘발성 때문에 환경변수가 사라지는 문제를 이해합니다.
– 사용자별 설정 파일인 ~/.zshrc를 활용하여 환경변수를 영구 설정합니다.
– 설정 변경 후 ‘source’ 명령으로 즉시 적용하고, 올바르게 확인하는 방법을 숙지합니다.
맥 터미널 종료 시 사라지는 환경변수를 .zshrc 파일에 설정하여 영구적으로 유지하는 방법을 상세히 정리했습니다.
환경변수가 사라지는 이유와 ~/.zshrc의 역할
맥 터미널에서 `export PATH=/usr/local/bin:$PATH`와 같은 명령어를 입력하면 해당 환경변수는 현재 열려있는 터미널 세션에서만 유효합니다. 터미널을 닫는 순간, 이 세션은 종료되고 함께 설정했던 모든 환경변수는 초기화됩니다. 마치 잠시 책상 위에 펼쳐둔 노트를 덮는 것과 같습니다. 다음에 다시 터미널을 열면 새로운 빈 책상이 펼쳐지는 셈이죠.
이러한 불편함을 해결하기 위해 zsh 셸은 `.zshrc`라는 특별한 파일을 사용합니다. `~/.zshrc` 파일은 사용자가 터미널을 열 때마다 자동으로 실행되는 스크립트 파일입니다. 여기에 환경변수를 설정해두면, 터미널을 새로 열 때마다 항상 동일한 환경변수가 자동으로 로드되어 영구적인 효과를 낼 수 있습니다.
개발 환경을 구축하거나 특정 명령어가 올바르게 인식되게 하려면 이 `.zshrc` 파일을 정확하게 이해하고 활용하는 것이 중요합니다. 이 파일을 통해 여러분은 매번 반복되는 수동 설정의 번거로움에서 완전히 벗어날 수 있습니다.
`.zshrc` 파일은 주로 ‘인터랙티브 셸’이 시작될 때 실행됩니다. 우리가 터미널 애플리케이션을 열어 명령어를 직접 입력하는 대부분의 경우가 이에 해당합니다. 로그인 셸일 때는 `.zprofile`이 먼저 실행될 수 있지만, 일반적인 터미널 사용 환경에서는 `.zshrc`가 환경변수 설정의 핵심 역할을 합니다.
~/.zshrc 파일을 이용한 환경변수 영구 설정 3단계
이제 `.zshrc` 파일을 활용하여 환경변수를 영구적으로 설정하는 구체적인 3단계 과정을 살펴보겠습니다. 이 단계를 순서대로 따라 하면 단 1분 만에 환경변수 설정을 마무리하고 더 이상 신경 쓸 필요가 없어집니다.
- zshrc 파일 열기 — 터미널에서 다음 명령어를 입력하여 `.zshrc` 파일을 텍스트 편집기로 엽니다. 만약 파일이 없다면 새로 생성됩니다. `open ~/.zshrc` 또는 `vi ~/.zshrc`를 사용할 수 있습니다. Vim 편집기가 익숙하지 않다면 `open` 명령이 기본 텍스트 편집기로 파일을 열어 편리합니다.
- 환경변수 추가/수정 — 열린 `.zshrc` 파일의 가장 아랫줄에 원하는 환경변수 설정을 추가합니다. 예를 들어, Homebrew로 설치한 특정 경로를 PATH에 추가하려면 다음과 같이 작성합니다.
export PATH="/opt/homebrew/bin:$PATH"
export MY_VARIABLE="Hello World"
PATH에 새로운 경로를 추가할 때는 기존 PATH 값을 덮어쓰지 않고 콜론(`:`)으로 구분하여 추가하는 것이 중요합니다. `$PATH`는 기존 PATH 값을 의미합니다.
- 변경 사항 적용 — 파일을 저장하고 닫은 다음, 터미널로 돌아와 다음 명령어를 입력하여 변경된 `.zshrc` 파일을 현재 세션에 적용합니다.
source ~/.zshrc
이 명령은 `.zshrc` 파일을 다시 읽어 현재 터미널 세션에 환경변수를 즉시 반영합니다. 또는 터미널을 완전히 닫았다가 다시 열어도 변경 사항이 적용됩니다.
환경변수 적용 확인 및 주의사항
환경변수를 설정한 후에는 반드시 제대로 적용되었는지 확인하는 절차가 필요합니다. 터미널에 `echo $PATH` 또는 `printenv` 명령어를 입력하여 새로 추가한 경로 또는 설정한 변수가 목록에 나타나는지 확인합니다. 예를 들어, `echo $PATH`를 실행했을 때 `/opt/homebrew/bin`이 포함되어 있다면 성공적으로 적용된 것입니다.
환경변수를 설정할 때 몇 가지 주의할 점이 있습니다. 특히 PATH 변수를 다룰 때는 기존 경로를 실수로 삭제하거나 잘못된 순서로 지정하여 시스템 명령어가 작동하지 않는 문제가 발생할 수 있습니다. 예를 들어, `$PATH`를 누락하고 `export PATH=”/new/path”`라고만 설정하면 기존의 필수 시스템 경로들이 모두 사라져 `ls`, `cd` 같은 기본 명령어조차 사용할 수 없게 됩니다.
또한, `.zshrc` 파일에 문법 오류가 있으면 터미널을 열 때마다 오류 메시지가 나타나거나 셸이 제대로 시작되지 않을 수 있습니다. 이런 경우 당황하지 말고 다른 텍스트 편집기(예: Visual Studio Code)를 이용해 `.zshrc` 파일을 열어 오류를 수정하거나, 문제가 되는 부분을 주석 처리하여 원래대로 돌릴 수 있습니다.
PATH 변수를 설정할 때는 기존 경로를 덮어쓰지 않고 반드시 `$PATH`를 포함하여 새로운 경로를 추가하는 방식으로 작성해야 합니다. 잘못된 설정은 시스템 기본 명령어 사용에 심각한 문제를 초래할 수 있으니 각별히 유의해야 합니다. 만약 터미널 접속이 어렵다면, GUI 기반 텍스트 편집기를 사용하여 `.zshrc` 파일을 수정하십시오.
맥 환경에서 사라지는 환경변수 문제는 `.zshrc` 파일을 활용하여 쉽게 해결할 수 있습니다. 텍스트 편집기로 파일을 열고 `export` 명령어를 사용하여 필요한 환경변수를 추가한 뒤, `source ~/.zshrc` 명령으로 변경 사항을 적용하는 3단계 과정이면 충분합니다.
지금 바로 적용해 보세요.
- Zsh Manual (linux.die.net) — Zsh 셸의 공식 매뉴얼로, 더 심화된 설정 옵션과 기능에 대한 자세한 정보를 담고 있습니다.
동영상으로 보는 맥 zshrc 환경변수 영구 설정 방법
글로 충분하지 않다면 관련 영상을 함께 보세요. 클릭하면 YouTube에서 검색 결과로 이동합니다.
자주 묻는 질문
Q. 터미널을 닫으면 설정한 환경변수가 사라지는 이유는 무엇인가요?
A. 터미널에서 `export` 명령으로 설정한 환경변수는 해당 터미널 세션에만 유효합니다. 터미널 창을 닫으면 해당 세션이 종료되므로, 설정했던 변수들도 함께 사라지게 됩니다.
Q. 맥에서 환경변수를 영구적으로 설정하려면 어떤 파일에 추가해야 하나요?
A. `zsh` 쉘을 사용할 경우, 환경변수를 영구적으로 설정하려면 홈 디렉터리에 있는 `.zshrc` 파일에 추가해야 합니다. 이 파일은 새로운 `zsh` 쉘이 시작될 때마다 자동으로 실행되어 환경변수를 로드하기 때문입니다.
Q. .zshrc 파일을 수정한 후 변경사항을 적용하려면 어떻게 해야 하나요?
A. `.zshrc` 파일을 수정한 후에는 변경사항을 적용하기 위해 새로운 터미널 창을 열거나, 현재 터미널에서 `source ~/.zshrc` 명령을 실행해야 합니다. 이렇게 해야 `zsh` 쉘이 업데이트된 `.zshrc` 파일을 다시 읽어들여 적용합니다.
Q. 설정한 환경변수가 올바르게 적용되었는지 어떻게 확인할 수 있나요?
A. 특정 환경변수가 올바르게 설정되었는지 확인하려면 `echo $변수명` 명령을 사용합니다. 모든 환경변수를 확인하고 싶다면 `env` 또는 `export` 명령을 실행하여 현재 설정된 모든 변수 목록을 볼 수 있습니다.
함께 읽으면 좋은 글
