我有一个应用程序,其中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
答案 0 :(得分:8)
为了实现这一点,start.sh
必须是可执行的:
chmod a+x start.sh
如果你不能安排在运行文件的机器上发生这种情况,你可以直接用bash调用它;而不是./start.sh
,请使用bash ./start.sh
(甚至只是bash start.sh
)