Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Heroku部署错误:无法检测构建包_Heroku_Go - Fatal编程技术网

Heroku部署错误:无法检测构建包

Heroku部署错误:无法检测构建包,heroku,go,Heroku,Go,我正在尝试将我的Discord机器人部署到Heroku,并且我已经成功地将我的Github帐户链接到Heroku。它可以成功找到我尝试部署的存储库,但当我尝试手动部署时,它会显示错误: ! No default language could be detected for this app. HINT: This occurs when Heroku cannot detect the buildpack to use for this application aut

我正在尝试将我的Discord机器人部署到Heroku,并且我已经成功地将我的Github帐户链接到Heroku。它可以成功找到我尝试部署的存储库,但当我尝试手动部署时,它会显示错误:

 !     No default language could be detected for this app.

        HINT: This occurs when Heroku cannot detect the buildpack to use for this application automatically.

        See https://devcenter.heroku.com/articles/buildpacks

 !     Push failed

我的机器人是用Go编码的,这是由Heroku支持的。我的代码是否有外部库?如果是这样,我如何在Heroku中添加对这些库的支持?提前感谢。

关于Heroku的项目是使用所谓的。为使用不同语言的项目创建特定的构建包。对于Go项目,存在知道如何获取、编译和构建Go项目的组件,包括作为构建过程的一部分自动获取它们的依赖项

构建包选择可以手动进行,也可以自动进行。您看到了您发布的错误,因为您没有手动设置任何构建包,并且自动检测失败。请参阅下面的原因

手动构建包选择 对于手动选择,请下载,然后执行以下命令:

heroku buildpacks:set heroku/go
注意:如果您是第一次使用
heroku
cli,则可能需要使用
heroku登录
登录。此外,如果默认情况下未选择您的应用程序,您可以使用
-a
-app
参数指定它,例如:

heroku buildpacks:set heroku.go -a yourappname
要查看选定的构建包,请执行
heroku buildpacks
命令

自动构建包检测 仅仅因为项目使用的是Go语言,
heroku/Go
buildpack不会自动被选中

是否应使用heroku/go的实际检测由脚本完成,检测逻辑为:

if test -f "${build}/Godeps/Godeps.json" || # godeps
   test -f "${build}/vendor/vendor.json" || # govendor
   test -f "${build}/glide.yaml" || # glide
   (test -d "${build}/src" && test -n "$(find "${build}/src" -mindepth 2 -type f -name '*.go' | sed 1q)") # gb
then
  echo Go
else
  exit 1
fi
因此,如果项目中存在以下文件之一,基本上会检测到Go语言并自动选择
heroku/Go
buildpack:

  • Godeps/Godps.json
    ;被使用
  • vendor/vendor.json
    ;被使用
  • glide.yaml
    ;被使用
  • src/*/**/**.go
    ;被使用
进一步阅读 关于与Go和Heroku合作的官方文章:


heroku buildpacks在您的项目中的输出是什么?