Heroku:" bash:./ start.sh:Permission denied"

时间:2015-02-14 04:27:22

标签: node.js bash shell heroku procfile

我有一个应用程序,其中Procfile设置为运行shell脚本,但Heroku不会运行该脚本,并声明“Permission denied”。

Procfile:

web: ./start.sh

start.sh:

#!/usr/bin/env bash
clear;
until node app.js; do
    echo "Server crashed with exit code $?.  Respawning.." >&2
    sleep 1
done

Heroku日志:

Starting process with command './start.sh'
bash: ./start.sh: Permission denied
State changed from starting to crashed
Process exited with status 126

1 个答案:

答案 0 :(得分:8)

为了实现这一点,start.sh必须是可执行的:

chmod a+x start.sh

如果你不能安排在运行文件的机器上发生这种情况,你可以直接用bash调用它;而不是./start.sh,请使用bash ./start.sh(甚至只是bash start.sh