Heroku 在错误的目录中寻找 Procfile
Posted
技术标签:
【中文标题】Heroku 在错误的目录中寻找 Procfile【英文标题】:Heroku looking for Procfile in wrong directory 【发布时间】:2018-01-09 09:37:51 【问题描述】:我正在尝试在 Heroku 上使用 Django,我正在使用它的 Django 模板 https://devcenter.heroku.com/articles/django-app-configuration 来学习本教程 https://devcenter.heroku.com/articles/deploying-python
但是当我运行“heroku local web”时,它总是在错误的目录中查找。我试图移动项目
(env) D:\Study\Workbench\heroku-testing\testing\env\codeShareApp>heroku local web
[WARN] No ENV file found
[WARN] ENOENT: no such file or directory, open 'C:\Users\William\Procfile'
[FAIL] No Procfile and no package.json file found in Current Directory - See
run_foreman.js --help
项目目录如下
env/
codeShareApp/
.idea/
codeShareApp/
.env
manage.py
Procfile
requirements.txt
runtime
include/
Lib/
Scripts/
tcl/
编辑: 我尝试使用如下目录创建一个新项目,但仍然出现相同的错误
codeShareApp/
codeShareApp/
env/
.env
manage.py
Procfile
requirements.txt
runtime
【问题讨论】:
在 settings.py 文件中向我们展示您的static_ROOT/URL
。您可能必须将其更改为 static
。 Heroku 正在寻找仅存在于您本地计算机上的路径。
显示.env
的内容。里面可能有什么东西告诉它看错了地方。
@hansTheFranz 我的项目看起来与模板中显示的完全一样,默认情况下它的设置也是如此
@DanielRoseman 我的 .env 中只有这一行:WEB_CONCURRENCY=2
【参考方案1】:
我在一个项目中也遇到过这个问题;我通过确保 Procfile 使用正确的语法解决了这个问题,并且文件中没有额外的制表符或换行符。 尤其是白色。
【讨论】:
【参考方案2】:我不知道为什么,但我在另一台机器上尝试过,它工作得很好。它似乎与heroku cli 6.13有关,因为该错误仅在从5.12版本更新到6.12之后才会出现
【讨论】:
【参考方案3】:文档说:
该文件必须放在应用程序的根目录中。如果放在子目录中,它将不起作用。
尝试这样做,它应该可以工作。请参阅docs 了解更多信息。
【讨论】:
以上是关于Heroku 在错误的目录中寻找 Procfile的主要内容,如果未能解决你的问题,请参考以下文章
Heroku 显示“Procfile 声明类型 ->(无)”,但我正在声明一个 Web 进程
即使在 Procfile 中添加了 Heroku 工人 dyno 也没有出现
应用程序错误:Heroku,Ruby on Rails 4,警告:rails_12factor,vendor / bundle,no Procfile
部署到 Heroku 时,如何在 Procfile 中导入带有 Gunicorn 的自定义模块?
Procfile 在 Heroku 中声明类型 -> (none)
通过 Gunicorn 在 Heroku 上的 Django-twoscoops-project(骨架)。如何设置Procfile?