post-merge
我的git 存储库中有一个只运行jekyll
命令的钩子。
当我运行git pull
时,post-merge
运行没有问题。
但是,我已经设置了一个 PHP 文件,它将充当远程的 WebHook:
$pull = `cd .. && git pull`;
echo $pull;
当我访问这个文件时, git pull 运行(在一些初始问题之后)并且成功。但是,由于某种原因,post-merge
失败了。如果我查看我的 Apache 内部error_log
,我会发现以下错误:
.git/hooks/post-merge: line 5: jekyll: command not found
这很奇怪,考虑到post-merge
当我git pull
通过 SSH 进行手动操作时成功运行了 jekyll。
如果我按照这里的建议运行使用可执行文件的完整路径,我会在我的error_log
:
/usr/bin/env: ruby_noexec_wrapper: No such file or directory
我通过 RVM 安装了 Ruby。
如何让apache
用户运行jekyll
没有问题?
编辑:这是我目前的post-merge
:
#!/bin/sh
unset GIT_DIR
source /usr/local/rvm/environments/ruby-1.9.3-p194
/usr/local/rvm/gems/ruby-1.9.3-p194/bin/jekyll
echo "Deployed!"
当我以apache
用户身份运行它时,我现在收到此错误:
安装了 Node.js。