Skip to content

Instantly share code, notes, and snippets.

@hongsw
Created March 27, 2025 08:36
Show Gist options
  • Save hongsw/69e1572732f36c93644ffc5925313a19 to your computer and use it in GitHub Desktop.
Save hongsw/69e1572732f36c93644ffc5925313a19 to your computer and use it in GitHub Desktop.

Revisions

  1. hongsw created this gist Mar 27, 2025.
    121 changes: 121 additions & 0 deletions macos_path_setting.md
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,121 @@
    # macOS에서 uv 설치 및 PATH 설정 가이드

    이 문서는 macOS에서 uv를 설치하고 올바르게 PATH에 설정하여 항상 접근 가능하도록 만드는 방법을 설명합니다.

    ## 쉘 설정 파일 개요

    macOS에서 사용되는 주요 쉘 설정 파일의 차이점은 다음과 같습니다:

    ### .profile 파일 (예: .bash_profile, .zprofile)
    - **로그인 세션**에서만 로드됨 (사용자가 시스템에 로그인할 때)
    - 환경 변수 설정, PATH 변수 등 **세션 전체에 적용되는 설정**에 적합
    - 한 번만 실행되는 명령어나 환경 설정에 사용
    - GUI 로그인 시스템에서는 이 파일들이 로드됨

    ### .rc 파일 (예: .bashrc, .zshrc)
    - 모든 **새로운 쉘 인스턴스**(대화형 쉘)가 시작될 때마다 로드됨
    - 별칭(alias), 함수 정의, 쉘 옵션 등 쉘 환경 설정에 적합
    - 터미널 창을 열 때마다 실행됨
    - 대화형 셸 설정에 주로 사용됨

    ### macOS의 기본 쉘
    - macOS Catalina(10.15) 이후 버전에서는 기본 쉘이 `bash`에서 `zsh`로 변경되었습니다.
    - 최신 macOS에서는 주로 `.zshrc``.zprofile` 파일을 사용합니다.

    ## uv 설치 및 PATH 설정 절차

    ### 1. uv 설치 확인
    ```bash
    ls -la /Users/martin/.local/bin/uv
    ```
    이 명령어로 uv가 설치되어 있는지 확인합니다.

    ### 2. PATH에 설치 경로 포함 여부 확인
    ```bash
    echo $PATH | tr ':' '\n' | grep "/Users/martin/.local/bin"
    ```
    결과가 나오면 이미 PATH에 포함되어 있는 것입니다.

    ### 3. 현재 사용 중인 쉘 확인
    ```bash
    echo $SHELL
    ```
    결과가 `/bin/zsh`이면 zsh를, `/bin/bash`이면 bash를 사용 중입니다.

    ### 4. 쉘 설정 파일 존재 여부 확인
    ```bash
    # zsh 쉘인 경우
    ls -la ~/.zshrc ~/.zprofile ~/.zshenv

    # bash 쉘인 경우
    ls -la ~/.bashrc ~/.bash_profile ~/.profile
    ```

    ### 5. 쉘 설정 파일에서 PATH 설정 확인
    ```bash
    # zsh 쉘인 경우
    grep -E "PATH=|path=" ~/.zshrc ~/.zprofile ~/.zshenv 2>/dev/null | grep ".local/bin"

    # bash 쉘인 경우
    grep -E "PATH=|path=" ~/.bashrc ~/.bash_profile ~/.profile 2>/dev/null | grep ".local/bin"
    ```

    ### 6. PATH 설정 추가
    적절한 쉘 설정 파일에 PATH를 추가합니다:

    ```bash
    # zsh 쉘인 경우 (일반적으로 ~/.zshrc에 추가)
    echo 'export PATH="/Users/martin/.local/bin:$PATH"' >> ~/.zshrc

    # 지속적인 효과를 위해 ~/.zprofile에도 추가
    echo 'export PATH="/Users/martin/.local/bin:$PATH"' >> ~/.zprofile

    # bash 쉘인 경우
    echo 'export PATH="/Users/martin/.local/bin:$PATH"' >> ~/.bash_profile
    ```

    ### 7. 변경사항 즉시 적용
    ```bash
    # 사용 중인 쉘에 따라 실행
    source ~/.zshrc
    # 또는
    source ~/.bash_profile
    ```

    ### 8. 설정 적용 확인
    ```bash
    which uv
    echo $PATH | tr ':' '\n' | grep "/Users/martin/.local/bin"
    ```
    `which uv``/Users/martin/.local/bin/uv`를 반환하면 성공입니다.

    ### 9. 리부팅 후 지속성 확인
    맥을 재부팅한 후 다음 명령어를 실행하여 설정이 유지되는지 확인하세요:

    ```bash
    # uv 명령어가 정상적으로 실행되는지 확인
    uv --version

    # PATH에 필요한 경로가 포함되어 있는지 확인
    echo $PATH | tr ':' '\n' | grep "/Users/martin/.local/bin"
    ```

    리부팅 후에도 uv가 실행되지 않는다면:
    - `.zprofile``.zshrc` 모두에 PATH 설정이 되어 있는지 확인하세요
    - 전체 시스템에 적용하려면 (관리자 권한 필요):
    ```bash
    sudo echo 'export PATH="/Users/martin/.local/bin:$PATH"' >> /etc/zshenv
    ```

    ## 문제 해결

    PATH 설정 문제가 지속된다면 다음을 확인하세요:

    1. 파일 권한이 올바른지 확인:
    ```bash
    chmod +x /Users/martin/.local/bin/uv
    ```

    2. PATH 변수 설정 순서 확인 - macOS의 Path_helper는 때때로 PATH 순서를 변경할 수 있습니다.

    3. 모든 관련 쉘 설정 파일에 일관된 PATH 설정이 있는지 확인하세요.