当前位置: 首页 > 知识库问答 >
问题:

当我按heroku:remote:!无法检测到此应用程序的默认语言

苏硕
2023-03-14

我运行git push heroku master成功之前几次。然而,这一次当我有一个新的项目并尝试使用它时,它并不起作用。我检查的错误来自这里:

远程:!无法检测到此应用程序的默认语言。Remote:提示:当Heroku无法自动检测到用于此应用程序的buildpack时,会发生这种情况。远程:请参阅https://devcenter.heroku.com/articles/buildpacks

那么结果就是:![remote rejected]master->master(拒绝预接收钩子)错误:无法将一些引用推送到“https://git.heroku.com/heroku-proj1.git”

有什么建议吗?谢谢

共有1个答案

宰父疏珂
2023-03-14

如果您在项目中使用遗留PHP,您将需要一个index.PHP文件,Heroku将自动为您构建项目。

如果您使用的是python、Django或Flask,那么您需要在主目录中创建requirements.txt。此文件包含应用程序中的所有依赖项。这可以通过使用命令(在主目录中运行它)->pip3 freeze>requirements.txt来完成

您还需要创建runtime.txt。在此过程中,您需要以以下格式声明python的确切版本->python-3.9.2

你还需要在你的应用程序中安装gunicorn,特别是如果它是一个烧瓶应用程序。Gunicorn是一种Web服务器网关接口(WSGI)服务器实现,通常用于运行Python Web应用程序。使用“pip install gunicorn”命令。那么您将需要一个procfile。procfile包含在Heroku上启动应用程序的命令行。它是一个简单的文本文件,但不要创建特定的txt文件,只需使用任何文本编辑器创建它,如vs代码。

在procfile中,编写以下->web:gunicorn app:app(第二个“app”是您的python路由文件的名称,例如-app.py)

现在你可以试着把它推给Heroku。对于ref,使用以下cmd命令执行从头到尾的所有过程:

#下载heroku cli#在应用程序文件夹py-3-m venv name_of_venv中创建虚拟环境

#activate venv name_of_venv\scripts\activate

#安装烧瓶管安装烧瓶

#转到应用程序文件夹并键入set flask_app=file_name.py

#要设置调试器环境,请键入set flask_env=development

#######################现在使用heroku cli上载到heroku

#在app文件夹(venv active)中安装gunicorn pip isntall gunicorn

#create Procfile告诉heroku我们正在使用gunicorn#Procfile没有任何扩展名web:gunicorn app:name_of_server_python_file(没有.py扩展名)

#创建requirements.txt文件pip freeze>requirements.txt

#要将代码推送到heroku,请使用git#打开git git init

#添加应用程序文件夹中的所有内容-git add。

#commit change git commit-m“初始commit”

#推入heroku,首次登录heroku,键入-heroku login

#create app heroku create app_name/heroku create(名称自动创建)

#将代码推送到heroku git推送到heroku main

 类似资料:
  • 问题内容: 第一次使用Heroku。试图推动。我已经运行了命令: 并显示 堆栈跟踪: 我一定要错过一些东西。 我已经在我的根目录中添加了一个。看起来像这样: 问题答案: 我不记得如何解决此问题,但是在发布此问题后查看文件中的创建了两个文件: (感谢 rurp ),其中包含: 其中包含: 这是Django专案,并导致位于 其中包含:

  • 这是我在Android上使用Mac上的Appium时遇到的问题。 Appium无法从我的应用程序中检测到活动。它在这个应用程序的另一个版本中检测到了这些,并且我已经和开发人员确认了我使用了正确的appname和activity name。

  • 它说要使用以下命令: 在Google Shell中,我尝试了以下操作: 我知道命令指向的是正确的文件位置。如何成功验证应用程序默认凭据?

  • 我创建了一个具有并发gcloud应用程序的Dialogflow代理。但是,当我尝试将它集成到Node.js后端时,它似乎访问了错误的应用程序默认凭据。 我可以确认它正在验证身份验证是否成功,因为当我运行以下代码时,它的控制台记录了正确的项目ID(diagnosistest-56e81): null 当我执行此操作时,会得到不同的错误消息:

  • 我是iOS开发人员,目前正在探索使用robot framework和Appium进行自动化测试。我注意到即使我将放入UIView元素,Appium inspector(或者一般的XCTest框架)也无法检测到该元素。 以下是视图等级: 我在视图上添加了,其类型为字符串,值为,因为它是保存的视图。 好吧,我可以选择第一个标签执行点击并得到相同的效果。但是,这是正常的行为吗?

  • 我想检测来电。我是用广播接收器做的,效果很好。但当我的应用程序关闭时,它会显示“应用程序已停止”(应用程序崩溃)。那么我如何启动我的应用程序来执行操作呢? 这是我的收音机: