设置 Git 的 PATH(不适合我)

设置 Git 的 PATH(不适合我)

我正在运行 OSX 10.6.5 和 Git 1.7.1

我在 /Library/Frameworks/Git.framework 的非标准位置安装了 git(虽然这在 Mac 上应该是标准位置;-) 。我自己的 PATH 设置得很好,git 工作得很好,直到……我用 Ruby 脚本设置了一个预提交钩子:

$ git commit -m "added some Yard documentation"
.git/hooks/pre-commit: line 1: #!/usr/bin/env: No such file or directory

pre-commit.sample 运行正常,因此看来 git 找不到 /usr/bin/env,或者其他很多东西,因为我已尝试将其直接发送到 ruby​​ 等。只要 /bin/sh 就可以了。

那么,Git 从哪里获取它的 PATH?因为它没有使用我的,否则就不会发生这种情况。更重要的是,我如何让它看到 /usr/bin/env ?

我已经测试过 ruby​​ 脚本,它可以工作。


补充一下:

$ cat /etc/paths                    
/usr/bin
/bin
/usr/sbin
/sbin
/usr/local/bin

$ cat /etc/paths.d/git
/Library/Frameworks/Git.framework/Programs

Ruby 脚本的前几行(通过 ./pre-commit 或 ruby​​ pre-commit 运行)

#!/usr/bin/env ruby -wKU

class String
  def expand_path
    File.expand_path self
  end

  def parent_dir
    File.dirname self.expand_path
  end
end

答案1

从我将文件复制到 .git/hooks 开始,文件就不知怎么损坏了,一个具有相同代码的新文件修复了这个问题。非常感谢 @Redmumba 和 @Dennis Williamson 让我知道我在错误的地方寻找。

相关内容