【问题标题】:Why can't my post-receive hook run a virtualenv source command?为什么我的 post-receive 钩子不能运行 virtualenv 源命令?
【发布时间】:2011-04-29 08:28:55
【问题描述】:

我有一个以用户“git”运行的接收后挂钩。我有一个 git 可读的 virtualenv /python/ve//bin/activate。运行:

source /python/ve/<name>/bin/activate

适用于 git 组中的用户。

当它在推送后作为接收后挂钩运行时,我收到错误“源:未找到”。

我不知道还能去哪里看 - 任何提示都非常感谢。

【问题讨论】:

    标签: python linux git virtualenv git-post-receive


    【解决方案1】:

    这是一种猜测,因为您没有引用完整的 post-receive 钩子,但我怀疑您在顶部没有指向 /bin/bashshebang line。你的post-receive 钩子应该开始了:

    #!/bin/bash
    

    我怀疑这是因为如果我运行严格的 Bourne shell,例如 dash,我在尝试使用 source 获取任何内容时会遇到相同的错误。

    【讨论】:

    • 太棒了。谢谢你。我不小心有 /bin/sh 因为我从另一个人的钩子上复制了它。我刚刚为 git 用户更改了 shell,但忘记了 shebang 行。感谢您如此快速准确的回答。
    • 没问题 - 很容易做到:)
    猜你喜欢
    • 1970-01-01
    • 2012-01-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-02
    • 2017-10-19
    • 2010-11-24
    相关资源
    最近更新 更多