최근 제어판-> 시스템-> 고급 시스템 설정-> 환경 변수-> 사용자 변수-> PATH로 이동하여 수동으로 Windows PATH에 디렉토리를 추가했습니다. (Windows 7, 64 비트)
cmd.exe를 재부팅하고 시작한 후 echo %PATH%
이것이 작동했음을 나타냅니다. 최근에 출력에 추가 한 디렉토리가 표시됩니다.
그러나 Git Bash를 시작한 후의 출력 echo $PATH
에는이 디렉토리가 포함되지 않습니다.
export PATH=$PATH:/c/my/path
bashrc에 추가 할 수 는 있지만 Git Bash는 Windows에서 PATH를 가져와 두 경로에 경로를 추가해야한다는 것을 기억하지 않아도됩니다. 이것이 어떻게 이루어질 수 있습니까?
(보다 일반적인 관련 질문은 Git Bash의 $ PATH를 설정하는 것입니다. 여러 위치에서 여러 항목이 반복되는 것을 볼 수 있습니다. Windows % PATH %에있는 일부는 Git Bash의 $ PATH에 있지만 다른 것은 아닙니다. $ PATH에 닿는 Git Bash 프롬프트가 표시됩니까?)
답변
msysgit git bash 세션은 script를 사용합니다.이 스크립트 share/WinGit/Git Bash.vbs
는 환경 변수에 액세스하거나 수정하지 않습니다 PATH
(예 : 관련이없는 vbs 스크립트에서와 같이 )
git bash 세션은 단순히 현재 앞에 추가합니다 PATH
.
.:/usr/local/bin:/mingw/bin:/bin:
msysgit과 함께 패키지 된 mingw 세션 bin
은 다른 mingw 설치를 고려하지 않을 수 있습니다. 다른 (더 간단한) 디렉토리를 설정하여 확인하고 PATH
git bash 세션에서 여전히 볼 수 있는지 확인할 수 있습니다. 그렇지 않은 경우 PATH에 추가 할 모든 디렉토리 와 관련된보다 일반적인 문제입니다 .
답변
비슷한 문제 (Windows 10의 MSYS2 bash)에 대한 작은 해결 방법이 있습니다.
아이디어는 필요한 경로를 Unix 스타일 경로로 변환하고 .bashrc에서 모두 bash $ PATH에 추가하는 것입니다.
Win PATH에 필요한 경로를 추가하지 마십시오. 대신 MSYS2_WINPATH와 같이 Windows에 새 env var를 작성하고 세미콜론으로 구분 된 모든 Windows 경로 디렉토리를이 변수에 추가하십시오. % MSYS2_WINPATH %를 % PATH %에 추가하십시오.
이제 이것을 .bashrc에 삽입하십시오-
################################## Construct PATH variable ##################################
winpath=$(echo $MSYS2_WINPATH | tr ";" "\n" | sed -e 's/\\/\\\\/g' | xargs -I {} cygpath -u {})
unixpath=''
# Set delimiter to new line
IFS=$'\n'
for pth in $winpath; do unixpath+=$(echo $pth)":"; done
export PATH=$(echo $PATH:$unixpath | sed -e 's/:$//g')
unset IFS
unset unixpath
unset winpath
################################# Constructed PATH variable #################################
답변
사용자의 PATH 변수가 환경 PATH 변수에 연결된 후 PATH 값이 너무 길면 Windows는 자동으로 사용자 PATH 변수를 연결하지 못합니다.
새 소프트웨어를 설치하고 PATH에 무언가를 추가하여 기존에 설치된 소프트웨어를 손상시킨 후에 쉽게 발생할 수 있습니다. 윈도우 실패!
가장 좋은 방법은 제어판에서 PATH 변수 중 하나를 편집하고 필요없는 항목을 제거하는 것입니다. 그런 다음 새 CMD 창을 열고 “echo % PATH %”에 모든 항목이 표시되는지 확인하십시오.
답변
디렉토리를 경로 변수의 시작 부분으로 이동하십시오. p4merge를 설치 한 후 동일한 문제가 발생했습니다. perforce 디렉토리가 경로에 추가되었고 p4merge는 cmd.exe에 의해 발견되었지만 git shell (mingw)은 아닙니다. 결실없는 검색 후, perforce 디렉토리가 내 경로에서 처음 나타나도록 변수를 편집하려고했습니다. 나는 디렉토리의 출력에 포함되어 자식 쉘과, 짜잔을 해고 $ echo $path
하고, $ p4merge
p4merge을 엽니 다.
왜 그것이 효과가 있는지에 대해서는 알지 못하기 때문에 이것은 일종의 절름발이입니다.