Textmate的git命令失败,显示“sh: line 1: git: command not found”错误。

27

当尝试使用TextMate中的Git捆绑包中的某些命令(例如“显示未提交的更改”)时,会出现错误消息,如“sh: line 1: git: command not found”。

我该如何让TextMate与Git配合工作?

6个回答

49

PS:由于某种原因,我的同事在Snow Leopard上没有遇到这个问题,它可以直接使用。 - mxk
在Snow Leopard中这对我不起作用。当我尝试在命令行上运行“sh git”时,我会得到以下错误: /usr/local/git/bin/git: /usr/local/git/bin/git: 无法执行二进制文件 - Radamanthus
3
似乎这个问题的解释是,在TM中的“设置->高级->Shell变量”中有一个(毫无意义的?)默认路径“/usr/bin:/bin:/usr/sbin:/ sbin”,所以即使您要求GitInstaller将git添加到路径中,TextMate也会跳过它。:-/ - conny
@conny 你说得对!在“设置”->“高级”->“Shell变量”下,我必须添加TM_GIT变量,并将路径设置为/usr/local/git/bin/git,同时取消选中PATH "/usr/bin:/bin:/usr/sbin:/sbin"变量,才能使bundle正常工作。我的系统是Snow Leopard。 - sarahjean

3
如果你已经允许git-osx-installer将git提供给非CLI应用程序(即它在/etc/paths.d/git中放置了一个文件),那么你可以这样做: git-osx-installer
Untick the PATH shell variable set by default in the textmate preferences. 

2

我最近在使用Snow Leopard时遇到了同样的问题,上述解决方案都似乎无法解决。因此,我创建了一个符号链接到我的git可执行文件,路径为/usr/bin,操作如下:

cd /usr/bin

sudo ln -s `which git` git

然后重新启动了Textmate,它就像魔法般地运行了起来,没有添加任何变量或其他内容。


1

另外,一旦添加了TM_GIT变量,请重新启动TextMate。在偏好更改后没有重新启动对我没有起作用。


0
@Radamanthus,你不应该从命令行中运行“sh git”。你应该直接运行“git”。此外,你应该使用which命令(运行“which git”)来获取你的git二进制文件的路径(正如@John Millikin所提到的)。

0
在首选项...>高级> Shell变量中将您的git位置添加到PATH shell变量中。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接