programing

Git Bash가 내 경로를 보지 못합니다.

lovejava 2023. 5. 19. 23:52

Git Bash가 내 경로를 보지 못합니다.

Windows에서 Git Bash를 사용할 때 전체 경로를 지정하지 않으면 실행 파일을 실행할 수 없습니다. Git Bash는 내 PATH 변수에 있는 폴더에 있습니다.배시가 못 알아본 것 같은데 왜요? 제가 고칠 수 있을까요?

알겠습니다. Windows 사용자인 저는 확장자 없이 실행 파일 이름을 입력하는 데 익숙합니다.제 경우, 저는 다음과 같은 파일을 실행하고 싶었습니다.cup.bat셸에서 에서입을 합니다.cup충분할 것 같습니다.Bash는 이런 식으로 작동하지 않습니다. 전체 이름을 원합니다.자치 기타를 합니다.cup.batbash파일 파일없었습니다.

포쉬-깃으로 전환해야 하는 또 다른 이유는..

@Tom이 저를 올바른 방향으로 안내해 주셔서 감사합니다.

경로가되지 않을 수 .bash에는 Windows 경로가 표시되지 않습니다.env|grep PATHbash에서 어떤 경로가 보이는지 확인합니다.

@Daniel의 코멘트와 @Tom의 답변 덕분에 Gitbash가 실제로 PATH를 사용하고 있지만 최근에 설치한 최신 경로는 아니라는 것을 알게 되었습니다.이 문제를 해결하기 위해 홈(윈도우) 디렉터리에 다음 이름의 파일을 추가했습니다.

.bashrc

내용은 다음과 같습니다.

PATH=$PATH:/c/Go/bin

Go를 설치하고 이 경로에 실행 파일이 포함되어 있기 때문입니다.go.exe이제 Gitbash는 다음 명령을 인식할 수 있었습니다.

go

제 경우에는 시스템을 재부팅하는 것만으로도 충분했을 수도 있지만, 이 솔루션이 어떤 경우에도 작동할 수 있어 기쁩니다.

가 PATH에 새 값을 추가한 후 컴퓨터를 다시 시작합니다.

Git를 설치하는 동안 아래 표시된 옵션을 선택할 수 있습니다. 경로를 자동으로 설정하는 데 도움이 됩니다.

Git 설치 마법사

그것은 저에게 잘 해결되었습니다 :)

C:\Users\USERNAME에 config.bashrc라는 다음을 포함하는 파일을 만듭니다.

PATH=$PATH:/c/Program\ Files\ \(x86\)/Application\ with\ space

이제 명령줄의 파일을 올바른 위치로 이동합니다.

mv config.bashrc .bashrc

의 신이 .git-bashPATH선물은 있지만 최신은 아니며 재부팅을 원하지 않고 재생성합니다.PATH 것들을 시도해 볼 수 .

  • cmd.exe,powershell.exe,그리고.git-bash.exe에서 cmdcmd 나엽니다다시.을 다시 엽니다.시작 메뉴 또는 바탕 화면 컨텍스트에서 exe 창을 엽니다.
  • 전체를 변경한 PATH권한 있는 cmd 창을 하나 열어야 할 수도 있습니다.
  • 에 맞는 Windows가 Gitbash인지 합니다.PATHenv가 업데이트되었습니다.IntelliJ IDEA의 터미널은 로그인또는 다른 종류의 마법일 수 있으므로 IDEA를 다시 시작할 때까지 변경되지 않을 수 있습니다.
  • 안 다 할 요.Windows Explorer프로세스도 수행하고 위의 단계를 다시 시도합니다.

참고: 일부 Windows 버전에서는 작동하지 않으며, 시작 메뉴 또는 바탕 화면의 상황에 맞는 메뉴 이외의 다른 메뉴를 여는 것은 작동하지 않을 수 있습니다. 컴퓨터 4대로 테스트한 결과, 그 중 3대가 작동합니다.이게 왜 효과가 있는지는 모르겠지만, 그 이후로.PATH로그인 및 로그아웃 시 환경 변수가 자동으로 생성되므로 변수 연결로 인해 해당 변수를 엉망으로 만들지 않습니다.

오래된 질문이지만 다른 사람에게 도움이 될 수 있습니다.

PATH 사용자를 광범위하게 변경한 후 로그오프했다가 다시 로그인합니다.

바로 그거야! git bash새 PATH 값을 올바르게 로드했습니다.

시스템을 다시 시작하면 창에서 환경 변수에 설정된 PATH가 git에 의해 선택되고 다른 자동 방법이 없음을 확인할 수 있습니다.

오래된 질문이지만 환경 변수에는 두 가지 유형이 있습니다.하나는 사용자 소유이고 하나는 시스템 전체입니다.gitbash(사용자 권한 또는 관리자 권한)를 여는 방법에 따라 사용되는 환경 변수 PATH는 사용자 변수 또는 시스템 변수일 수 있습니다.아래 참조:

이전 답변에서 말한 것처럼, 명령으로 확인합니다.env|grep PATH사용 중인 변수를 확인하고 그에 따라 변수를 업데이트합니다. BTW, 시스템을 재부팅할 필요가 없습니다..

여기서 근본 원인은 Git Bash가 항상 %USERPROFILE% 변수를 올바르게 구문 분석할 수 없기 때문인 것 같습니다.C에 상대적으로 만드는 대신:\Users\\ 값 C:\Windows\시스템 32\systemprofile\ 이 주소를 정규화된 주소로 변경한 후 작동하며, 나중에 다시 설정해도 GitBash는 어떤 이유에서인지 올바른 PATH를 가지고 있습니다.

Win10에서 mingw를 사용하여 xgboost lib를 컴파일하려고 할 때 이 문제가 발생합니다.마침내 해결책을 찾았습니다.

홈 디렉토리(일반적으로 C:\Users\username).그런 다음 경로를 추가합니다.경로에 공백이 있는 경우 따옴표를 사용하고 C:/ 대신 /c/를 사용해야 합니다.

예:

PATH=$PATH:"/c/프로그램 파일/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin"

Windows 10에서는 git를 제거하고 다시 설치하기만 하면 됩니다.환경 변수가 자동으로 설정됩니다.실수로 환경 변수를 제거하여 IDE 내에서 git을 사용할 수 없었습니다.Git를 다시 설치하면 이 문제가 해결됩니다.

나에게 가장 편리한 것은 1) C의 루트에 디렉터리 "bin"을 만드는 것이었다: 드라이브 2) "내 컴퓨터 -> 속성 -> 환경 변수"의 PATH에 "C:/bin;"을 추가하는 것이었다.

$PATH 변수를 편집/추가할 때 특수 문자(\)를 이스케이프하지 마십시오.예를 들어 프로그램 파일의 응용 프로그램 디렉터리는 다음과 같습니다.PATH=$PATH:/c/Program Files (x86)/random/application

수행 안 함:
PATH=$PATH:/c/Program\ Files\ \\(x86\\)/random/application/

이게 도움이 되길 바랍니다.

제가 바보 같은 실수를 저질렀습니다.저는 윈도우 10 컴퓨터에 mygolang 작업 공간을 위한 시스템 전체와 사용자 변수 경로를 설정했습니다.중복 시스템 변수 경로를 제거하고 로그오프했다가 다시 로그온했을 때 bash의 .exe 파일을 호출하고 go env를 호출하는 데 성공했습니다.

OP가 답변을 받았음에도 불구하고, 이것은 당신의 경로를 보지 못하게 할 수 있는 또 다른 문제입니다.방금 이 문제로 bash를 다시 테스트했는데 bash가 두 경로 중 하나를 따르는 것을 차단하는 일종의 충돌을 제공하는 것 같습니다.

나의 경우 herku cli와 gitbash를 설치하는 중에 발생한 일입니다. 여기 제가 작업하기 위해 한 일이 있습니다.

이 위치에 도착했습니다.

C:\Users\<username here>\AppData\Local

그리고 내 경우 herku 폴더에 있는 파일을 삭제합니다.그래서 폴더를 삭제하고 cmd를 실행했습니다.효과가 있습니다

윈도우즈 운영 체제의 Gitbash 터미널에는 시스템 경로/사용자 경로를 읽고 앱을 실행하는 기능이 있지만 다음과 같은 경우에는 누락될 수 있습니다.

  1. 터미널을 닫지 않고 환경 변수에 앱이 추가됩니다.
  2. MSYS / MinGW가 경로를 변환하고 있습니다.
  3. 앱 명령에서 원래 호출 방식 대신 일반 별칭 이름을 사용하려고 합니다.

사용 사례 - 1:

재시작 터미널이 작동하고 아래 명령을 사용하여 경로를 확인해야 합니다.

env|grep PATH

사용 사례 - 2:

예를 들어 설명하겠습니다.dockerMSYS가 원본 경로를 변환하는 앱의 경우 gitbash 터미널에서 직접 작동하지 않습니다. 이러한 문제의 경우 명령을 사용하여 터미널에 경로 변환 무시를 지시해야 할 수 있습니다.MSYS_NO_PATHCONV=1 그리고 실제 실행 명령을 계속합니다. 예를 들어,docker --help와 같이 합니다.

MSYS_NO_PATHCONV=1  MSYS_NO_PATHCONV=1 docker run -dp 3000:3000 -w /app -v "$(pwd):/app" node:12-alpine sh -c "yarn install && yarn run dev"
717d12b9fe5211f0189ccbed0ba056ca242647812627682d0149ede29af472a4 

사용 사례 - 3: 예를 들어 설명하겠습니다.azcli, 이상적으로는 az cli를 창에 설치합니다.az.cmd 또는 인식 powershell은 powershell과 powershell을 구분합니다. az.cmd~하듯이az하지만 gitbash는 그것을 이해하지 못할 것입니다 - 그래서 당신은 혼란을 피하기 위해 가명을 사용해야 한다고 말합니다.alias az='az.cmd'그리고 나서 실행합니다.az --help당신에게 도움이 될 것입니다.

윈도우즈 시스템 환경 변수, .bashrc, .bashprofile 등을 포함하여 위에서 언급한 모든 방법을 사용해 보고 'echo $PATH'에서 올바른 경로를 확인할 수 있는 분들은...당신을 위한 해결책이 있을지도 모릅니다.

exec 2> /dev/message를 사용하여 오류 억제

스크립트는 정상적으로 실행되지만 경로가 플러시되었음에도 불구하고 'command not found(명령을 찾을 수 없음)' 또는 'No directory found(디렉토리를 찾을 수 없음)' 오류가 발생했습니다.따라서 이러한 오류를 억제하면('set +e'도 추가해야 할 수 있음) 제대로 작동하지 않습니다.

이름이 Path인 사용자 변수를 만들고 %Path% 값으로 추가합니다. Git Bash에는 시스템 변수가 아닌 사용자 변수만 표시됩니다.위의 절차를 수행하면 사용자 변수에 시스템 변수가 노출됩니다.

Windows 7 경로 환경 변수에서는 시스템 변수 경로 끝에 추가하기만 하면 됩니다.

\;C:\Program Files\Git\bin

이제 작동합니다!

언급URL : https://stackoverflow.com/questions/10681101/git-bash-doesnt-see-my-path