【问题标题】:Push rejected, failed to detect set buildpack git://github.com/CHH/heroku-buildpack-php推送被拒绝,检测不到 set buildpack git://github.com/CHH/heroku-buildpack-php
【发布时间】:2016-03-24 19:39:09
【问题描述】:

我想使用 git push heroku master 将新应用推送到 Heroku。

认证成功后出现如下错误。

远程:构建源:远程:远程:-----> 获取集构建包
git://github.com/CHH/heroku-buildpack-php... 远程完成:

remote: !Push 被拒绝,未能检测到 set buildpack
git://github.com/CHH/heroku-buildpack-php

detect文件:

#!/bin/bash

if [ -f "$1/composer.lock" ]; then
    echo "PHP (composer.json)" && exit 0
elif [ -f "$1/index.php" ]; then
    echo "PHP (classic)" && exit 0
else
    exit 1
fi

【问题讨论】:

    标签: git heroku buildpack


    【解决方案1】:

    第一步是检查 buildpack 中的 detect 文件是否符合它正在检查的要求。任何导致它退出 1 的条件都会导致 Heroku 报告推送拒绝。

    【讨论】:

    • 假设您在项目根目录中有composer.lockindex.php(确保),在您推送时检查项目文件夹结构是否正确呈现给heroku,即没有隐藏应用程序根目录在子文件夹中。特定语言/框架的构建包希望在根目录中找到必要的文件,以将其视为有效的应用程序。例如,在 node 应用程序中,每个 buildpack 在根目录中查找 package.json
    • 我已经克隆了这个项目,所以我在项目根目录中没有index.php,只有composer.lock
    • 考虑到 elif 条件,您应该可以找到其中一个文件。
    • 这不是问题的原因吗?
    • 您的日志没有显示来自编译脚本的任何消息,所以我会先确保文件夹结构正确。
    【解决方案2】:

    此 buildback 已弃用,您应该改用官方的 Heroku buildpack。

    【讨论】:

      猜你喜欢
      • 2016-02-20
      • 1970-01-01
      • 2017-01-10
      • 2016-06-22
      • 1970-01-01
      • 2016-10-10
      • 1970-01-01
      • 2014-01-27
      • 1970-01-01
      相关资源
      最近更新 更多