【发布时间】:2021-04-08 22:02:10
【问题描述】:
我不久前使用 heroku 部署了我的第一个 python + flask webapp,但总是收到警告
Your slug size (365MB) exceeds our soft limit (300MB)。直到现在当我查看究竟占用了多少空间时才介意太多。运行 bash 来检查蛞蝓我得到以下信息:
1.1G /app
649MB /app/.heroku
364M /app/.apt
28M /app/Lib
12M /app/.chromedriver
2.0M /app/Scripts
32K /app/.procfile.d
20K /app/__pycache__
16K /app/main.py
4.0K /app/hashtable.py
4.0K /app/Procfile
4.0K /app/requirements.txt
4.0K /app/.locales
这看起来不像我在本地拥有的。我想.heroku 文件夹是由heroku 添加的,但.apt 也是因为那个不在我的本地机器上。如果我用cd 和ls 调查它,它看起来很像heroku 需要的东西,所以我有点小心删除它
我只是感到困惑,因为我从未在其他项目中看到 .apt,而且当我的所有文件都在 33MB 左右并且我不知道其他 330MB 来自哪里时,我觉得我做错了。无法想象 heroku 将 300MB 的必需文件放入 slug 以运行 Web 应用程序
有人解释一下吗? 我使用的构建包是:
heroku/python
https://github.com/heroku/heroku-buildpack-chromedriver
https://github.com/heroku/heroku-buildpack-google-chrome
https://github.com/heroku/heroku-buildpack-locale.git
编辑:
如果我输入heroku run bash,我看到的正是我在本地看到的文件,没有.apt。我上面发布的是我输入du -ha --max-depth 1 /app | sort -hr时显示的内容,这是heroku建议的命令,用于查看按文件大小排序的当前目录
由于我在本地也没有看到.apt 文件,所以我不确定如何使用.slugignore。但是在这些文件中也没有依赖项或包,所以我很确定这些是 heroku 需要的东西?
【问题讨论】: