2012-09-17 3 views
2

R 콘솔에서 git 명령을 실행하려고 시도했지만 막혔습니다. MINGW32에서 git bash 버전 1.7.11을 사용합니다. 경로는 C : \ Windows \ SysWOW64 \ cmd.exe/c "C : \ Program Files (x86) \ Git \ bin \ sh.exe"입니다. --login - ..git를 R에서 호출하기

편집 2012년 9월 19일, 내 환경 중 하나, 행운과

system("C:\\Windows\\SysWOW64\\cmd.exe /c \"\"C:\\Program Files (x86)\\Git\\bin\\sh.exe\" git status", intern=TRUE) 
[1] "Der Befehl \"\"C:\\Program Files (x86)\\Git\\bin\\sh.exe git status\" ist entweder falsch geschrieben oder" 
[2] "konnte nicht gefunden werden."                    
attr(,"status") 
[1] 1 
Warnmeldung: 
Ausführung von Kommando 'C:\Windows\SysWOW64\cmd.exe /c ""C:\Program Files (x86)\Git\bin\sh.exe" git status' ergab Status 1 

:

난 ".. OS는 나 또한 노력

script <- "C:\\Users\\Kay\\Dropbox\\R-Scripts\\test.R" 
system(paste("git add", script), intern=TRUE) 
system(paste('"C:\\Program Files (x86)\\Git\\bin\\sh.exe\"', 
      'cd theBioBucket-Archives'), intern=TRUE) 
system(paste('"C:\\Program Files (x86)\\Git\\bin\\sh.exe\"', 
      'git add', script), intern=TRUE) 
system(paste("git commit -a -m", "'", "autocommit", "'"), intern=TRUE) 

[1] "/usr/bin/sh: cd: No such file or directory" 
attr(,"status") 
[1] 127 
Warnmeldung: 
Ausführung von Kommando '"C:\Program Files (x86)\Git\bin\sh.exe" cd theBioBucket-Archives' ergab Status 127 
윈도우 7입니다
> Sys.getenv("PATH") 
[1] "C:\\Program Files (x86)\\AMD APP\\bin\\x86_64;C:\\Program Files (x86)\\AMD APP\\bin\\x86;C:\\Program Files\\Common Files\\Microsoft Shared\\Windows Live;C:\\Program Files (x86)\\Common Files\\Microsoft Shared\\Windows Live;C:\\Windows\\system32;C:\\Windows;C:\\Windows\\System32\\Wbem;C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\;C:\\Program Files (x86)\\Windows Live\\Shared;C:\\Program Files (x86)\\ATI Technologies\\ATI.ACE\\Core-Static;C:\\Program Files\\MiKTex\\miktex\\bin\\" 
> normalizePath(R.home("bin")) 
[1] "C:\\Program Files\\R\\R-2.15.1\\bin\\x64" 
> shell("R --version") 
Der Befehl "R" ist entweder falsch geschrieben oder 
konnte nicht gefunden werden. 
Warnmeldungen: 
1: Ausführung von Kommando 'C:\Windows\system32\cmd.exe /c R --version' ergab Status 1 
2: In shell("R --version") : 
    'R --version' Ausführung mit Fehlerkode 1 fehlgeschlagen 

답변

2

하위 셸을 만드는 것이 효과적 일 수 있다고 생각하지 않습니다. 플러스 "cd: No such file or directory"은 해당 쉘이 올바른 PATH 세트가 없음을 의미합니다.

this R script의 예를 다음 오른쪽 PATH (및 git-cmd.bat에서 수행으로, 필요한 경우 다른 환경 변수)를 설정하고, git 명령에 직접 호출 후 작동하는지 확인하는 것이 좋습니다 것입니다. ("How To Use Environment Variables in Windows XP"참조)

## put R's bin path to the system PATH variable under Windows 
R.bin = normalizePath(R.home("bin")) 
sys.path = Sys.getenv("PATH") 
if ((shell("R --version") != 0) || !grepl(R.bin, sys.path, fixed = TRUE)) { 
    system(paste("setx PATH \"", R.bin, ";", sys.path, "\"", sep = "")) 
} 

을 오른쪽 PATH 작업을 확인 :

영업 이익은 yihui script 언급

나는 yihui하여 스크립트를 사용하고 내 PATH 지금은 자식이 포함되어 있습니다. .git에 대한 호출이 이제 가능하다는 것을 드러내십시오!

+0

이 스크립트 - https://github.com/yihui/lyx/blob/master/add-R-path-win.R? – Kay

+0

@ 케이 다른 기술 인 것 같습니다. 내가 참조하는 스크립트는 최소한 R 스크립트 실행 내에서 PATH를 변경해야합니다. git 명령이 작동하려면 충분해야합니다 (PATH를 완료해야합니다. 자식 설치 디렉토리를 참조하지 않습니다) – VonC

+0

sry, I don 인용 된 게시에서 내 문제로 접근 방식을 조정할 수 있습니까? 더 구체적인 조언을 얻을 수있는 기회는 무엇입니까? – Kay