6

我在运行接收后挂钩时遇到问题,如下所示:

#!/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

当我在服务器上克隆我的存储库并推送时,钩子运行并且一切都很好。任何想法为什么从我的本地机器推送时推送不会触发捆绑命令?

谢谢!

4

1 回答 1

4

Try to add this line to your post-receive hook (at least before your first bundle ... call):

[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"

On Unix systems, rvm adds this line automatically to the ~/.bash_profile. In any none-bash contexts (crontab, git hooks) you have to add it manually.

于 2014-05-27T20:30:37.917 回答