我无法按照以下方式运行post-receive挂钩:
#!/bin/sh
unset $(git rev-parse --local-env-vars)
cd ~/commodity
git pull origin master
bundle install
bundle exec rake assets:precompile
thin restart
我正在从本地推送到远程,我收到此错误:
Counting objects: 5, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 319 bytes, done.
Total 3 (delta 2), reused 0 (delta 0)
remote: From /var/www/html/test
remote: * branch master -> FETCH_HEAD
remote: Updating a06129c..c3c3da3
remote: hooks/post-receive: line 19: bundle: command not found
remote: hooks/post-receive: line 20: bundle: command not found
remote: hooks/post-receive: line 21: thin: command not found
error: cannot run hooks/post-receive: No such file or directory
当我在服务器上克隆我的存储库并推送时,钩子运行并且一切都很棒。 任何想法为什么推送从我的本地机器推送时不会触发捆绑命令?
谢谢!
答案 0 :(得分:4)
尝试将此行添加到您的收件后挂钩(至少在您第一次bundle ...
来电之前):
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"
在Unix系统上,rvm会自动将此行添加到~/.bash_profile
。在任何非bash上下文(crontab,git hooks)中,你必须手动添加它。