I'm running OSX 10.6.5 with Git 1.7.1

I have git installed in a non-standard location (though that really should be the standard on a mac;-) in /Library/Frameworks/Git.framework. My own PATH is set fine, git works fine, until... I set up a pre-commit hook with a Ruby script:

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

The pre-commit.sample runs ok, so it appears that git can't find /usr/bin/env, or much else as I've tried shebanging it directly to ruby etc. Just /bin/sh is ok.

So, where does Git get it's PATH? because it's not using mine or this wouldn't be happening. And more to the point, how do I get it to see /usr/bin/env ?

I've tested the ruby script already, it works.

Just to add:

$ cat /etc/paths                    

$ cat /etc/paths.d/git

The first few lines of the Ruby script (which runs via ./pre-commit or ruby pre-commit)

#!/usr/bin/env ruby -wKU

class String
  def expand_path
    File.expand_path self

  def parent_dir
    File.dirname self.expand_path
  • 1
    If its failing on an absolute executable, its not doing this because of your path. It means that its actively unable to find the command /usr/bin/env on your system, and your PATH has nothing to do with it. – Andrew M. Mar 6 '11 at 14:49
  • 1
    It's not saying it can't find "/usr/bin/env", it's saying it can't find "#!/usr/bin/env". If you show the first few lines of the file, we might be able to see the problem. – Dennis Williamson Mar 6 '11 at 14:50
  • 1
    @Redmumba: That should give a "bad interpreter message", but you're right about the absolute path. – Dennis Williamson Mar 6 '11 at 14:51
  • You are absolutely right; I was looking over the message and noticed it was saying it couldn't find #!/usr/bin/env, not just /usr/bin/env. – Andrew M. Mar 6 '11 at 14:56
  • 1
    Are you sure that's the exact contents of your git hook? I.e., cat .git/hooks/pre-commit? – Andrew M. Mar 6 '11 at 14:59

File was corrupted somehow from the time I'd copied it in to .git/hooks, a new file with same code fixed it. Many thanks to @Redmumba and @Dennis Williamson for letting me know I was looking in the wrong place.

  • Awesome! Please mark your answer as correct, just so the question will be closed off. :) – Andrew M. Mar 6 '11 at 21:17

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.