升级到OSX 10.10 Yosemite Beta后,运行git pull
返回以下错误:
设置/Library/Developer/CommandLineTools/usr/libexec/git-core/git-pull:第11行:git-sh-
:没有这样的文件或目录
我检查了引用的git-core目录,git-sh-setup.sh就在那里。
其他git命令完全按照预期工作
发布于 2014-06-05 12:13:20
我认为目前最干净的解决方案是将iTerm会话中的初始命令更改为
/usr/bin/login -f <your user name>
这为我解决了这个问题。
分析这个问题的另一个数据点:在10.10中,似乎存在PATH环境变量的多个副本,并且subshell似乎更喜欢第二个副本。
您可以通过在控制台上启动iTerm启动的任何cocoa应用程序来重现此过程。您将收到如下所示的警告:
2014-06-04 19:23:09.859 gitx[14676:362580] *** -[NSProcessInfo environment]: Warning: duplicate definition for key 'PATH' found in environment -- subsequent definitions are ignored. The first definition was '(the path I have configured in my shell)', the ignored definition is '/usr/bin:/bin:/usr/sbin:/sbin'.
我认为这是10.10中的一个问题,而不是iTerm,但是iTerm正在做的一些事情导致了它的出现(这在Terminal.app中不会发生)
更新:这是因为iTerm对环境做了一些“有趣”的事情。更新到iTerm 2.0的官方版本,以解决此问题。
发布于 2014-06-05 06:50:29
我相信这是使用zsh时iTerm中的一个错误。它们故意不调用/usr/bin/login,也没有像应有的那样使用execle清除环境变量。
发布于 2014-10-20 17:51:01
下载最新版本的iTerm2为我修复了这个问题!
https://stackoverflow.com/questions/24022582
复制相似问题