2013-02-21 3 views
2

curl을 통해 github에 명령을 보내려면 R 내에서 git을 사용하려고합니다 (즉, this question을 R 기능으로 사용하려고합니다). git.exe의 위치를 ​​찾을 수 있으면이 작업을 수행 할 수 있습니다. Sys.which을 사용할 수 있다고 생각했지만 작동하지 않습니다.git.exe의 위치를 ​​찾으십시오

> Sys.which("git") 
git 
"" 

그러나 나는 내가 할 때 파일이 알고

> system('"C:\\Program Files (x86)\\Git\\bin\\git" --version') 
git version 1.7.11.msysgit.1 

는 어떻게 Windows에서 git.exe를 찾을 수 있습니까? (나 here 일어난 또는 아마도 내가 잘못 전체 문제에 대해거야)

+1

'which'는 * nix 명령입니다. 윈도우즈의'Sys.which'는 환경 경로를 조사 할 것이므로 마술처럼 파일을 찾지 않을 것입니다. git이 다른 장소에 설치되어있는 머신에서이 작업을 수행하기를 원하십니까? –

+0

아마도 hadley가 hadley에서 무엇을하는지 보도록하겠습니다 : https://github.com/hadley/devtools/blob/master/R/install-git.r. 하단의'git_path' 함수를 확인하십시오. – Marius

+0

@Andrew Mao는'Program Files' 또는'Programs Files (x86)'에있을 가능성이 있지만, 사용자가 파일을 저장할 곳을 확신 할 수는 없습니다. 아마 그 두 장소를 먼저 찾은 다음 찾지 못하면 다른 곳을 탐색하는'if'' else'일지도 모르지만 그 두 장소 중 하나에 있지 않으면 어디에서 찾을 수 있을지 모르겠습니다. –

답변

5

당신은 가장 가능성있는 폴더를 재귀 검색을 수행 list.files()를 구성 할 수 있습니다 : 내 컴퓨터에

list.files(
    path=c("c:/program files", "c:/program files (x86)"), 
    pattern="git.exe", 
    full.names=TRUE, 
    recursive=TRUE 
) 

이 결과 :

[1] "c:/program files (x86)/Git/bin/git.exe"    
[2] "c:/program files (x86)/Git/cmd/git.exe"    
[3] "c:/program files (x86)/Git/libexec/git-core/git.exe" 
+1

자식이''c : /Git/bin/git.exe "' –

+1

@TylerRinker에 저장된다면 핵심 문구는 * most likely folders * 나는 모든 드라이브와 디렉토리를 검색하는 성능 저하를 겪고 싶지 않으면 접근해야한다고 생각합니다. Windows의 경우 (XP 이상),'wmic product get/format : csv'와'intern = TRUE'를 사용하는 시스템 호출을 고려해 볼 수 있습니다. read.csv를 실행하고' grep'과 친구들. 하지만 그럴 가능성이있는 장소를 확인하고 힘내를 찾지 못하면 사용자 프롬프트를 통합하는 것보다 느려질 것입니다 (예 : 어제 시연 (http://stackoverflow.com/a/14971683/1270695)). – A5C1D2H2I1M1N2O1R2T1

0

이제는 누군가가 이것을 필요로 할 지 아직 확실하지 않습니다. 비슷한 고통을 겪고있는 구글의 검색에서 나는 이것을 우연히 발견했다.

그러나 경로를 발견했습니다. 조금 까다 롭습니다. 나는이 새로운 GitHub 소프트웨어 패키지를 설치했고 exe를 내가 예상했던 것과 다른 경로에 넣었다고 생각한다.

C : \ 사용자 \ your_user_name_here \의 AppData \ 로컬 \ GitHub의 \ PortableGit_c7e0cbde92ba565cb218a521411d0e854079a28c \ cmd를 \ git.exe

  • 그냥 이미지를 보여줄 것이기 때문에 여기에 유일한 cavet, 내가 git.exe을 추가하고 cmd를 사용하여 응용 프로그램이라는 것을 알고 경로의 자식에 옆에 .exe를 추가하고 PHP Storm 또는 IDE에서 사용중인 IDE를 클릭하십시오.

희망이 있으면 도움이 될 것입니다.

관련 문제