gpt4 book ai didi

git - 从 R 调用 git

转载 作者:太空狗 更新时间:2023-10-29 14:08:49 25 4
gpt4 key购买 nike

我尝试从 R 控制台调用 git 命令,但卡住了。我在MINGW32中使用git bash版本1.7.11,路径是C:\Windows\SysWOW64\cmd.exe/c ""C:\Program Files (x86)\Git\bin\sh.exe"--login -i “..操作系统是 Windows 7。

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

我也试过:

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

也没有运气..

编辑 19.09.2012,我的环境:

> 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

最佳答案

我认为创建子 shell 行不通。加上“cd: No such file or directory”表示 shell 没有设置正确的 PATH。

按照 git-cmd.bat 的示例,最好设置正确的 PATH(以及其他需要的环境变量,如 this R script 中所做的那样) ,然后查看直接调用 git 命令是否有效。

OP 提到 yihui script :

## 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(参见“How To Use Environment Variables in Windows XP”):

I used the script by yihui and my PATH now contains git ..first try reveals that calls to git are now possible!

关于git - 从 R 调用 git,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12467591/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com