我刚刚设置了git-tf,但我遇到了一个问题。
这是我收到的错误:
> git tf help
line 23: exec: cmd: not found
fatal: 'tf' appears to be a git command, but we were not
able to execute it. Maybe git-tf is broken?
以下是命令提示符的屏幕截图:
我按照包含的Git-TF_GettingStarted.html
文件中显示的安装说明进行操作,但我似乎无法使其正常工作。我做错了什么?
修改 我也安装了cygwin和我的PATH。也许这会引起git-tf的混乱? (从PATH中删除cygwin没有任何帮助)
答案 0 :(得分:5)
这看起来像是Windows上git-tf
sh脚本中的一个错误,当我们尝试启动时,当我们应该提供cmd.exe
的完整路径时,我们假设%WINDIR%在您的路径中它
在我们发布此修复程序之前,您可以执行以下两项操作之一:
将%WINDIR%\system32
添加到您的路径中。
修改git-tf
并更改第23行。而不仅仅是exec
'cmd
,相应的行(在mingw32中)应为:
exec "$WINDIR/system32/cmd.exe" //C "$0.cmd" "$@"
答案 1 :(得分:0)
我不知道这是我安装的Cygwin的版本还是什么,但我遇到了同样的问题而上述解决方案无法正常工作。问题是$ 0替换有一个unix样式路径,并且cmd.exe被阻塞了。
为了解决这个问题,我更改了这一行:
exec $COMSPEC //C "$0.cmd" "$@"
到此:
exec $(cygpath $COMSPEC) /C $(cygpath --windows "$0.cmd") "$@"
这可能仅适用于Cygwin。我从未使用过MinGW32,我不确定它的cygpath实用程序是否完全相同。
答案 2 :(得分:0)
%COMSPEC%中的“\”将陷入windows cmdline或mingw32下的“git tf”
if [ "$PLATFORM" = "cygwin" ]; then
COMSPEC_U=`cygpath -u "$COMSPEC"`
GITTF_CMD=`cygpath -w "$0.cmd"`
exec "$COMSPEC_U" /C "$GITTF_CMD" "$@"
elif [ "$PLATFORM" = "mingw32" ]; then
# exec "$COMSPEC" //C git-tf.cmd "$@"
exec "C:/WINDOWS/system32/cmd.exe" //C git-tf.cmd "$@"
fi