提问者:小点点

未能将烧瓶tesseract应用程序部署到heroku


我想将我的tesseract应用程序部署到heroku,但它总是“无法找到包tesseract-ocr”并且无法部署它。

我在学习这个教程和这个

我的步骤:

    null

这是我得到的错误:

E: Unable to locate package tesseract-ocr
 !     Push rejected, failed to compile Apt app.
 !     Push failed

非常感谢您的帮助!

更多信息:我的应用程序确实可以在postman上本地运行,所以我不认为这是一个编码问题。


共1个答案

匿名用户

像你一样,在过去的三天里,我花了很多时间在互联网上寻找这个神秘谜题的线索。人们发现,问题是由于Heroku的buildpack与不同操作系统使用的不同换行符有关的bug——Windows使用CRLF,而Linux使用LF(我在Windows上使用WSL,我假设这个问题也适用于Windows上的你)。每当我使用单个包时,构建都会工作,但每当我添加额外的包时,Heroku都会告诉我它无法找到它们。如果你在Windows上,你需要一种方法来确保你有正确的换行符来防止这种情况发生(我在WSL中使用了vim)。

对于像我这样使用WSL的人来说,还有一个问题是git会将任何换行符转换为CRLF,所以即使我使用LF换行符进行编辑,我最终还是遇到了Heroku无法找到所需包的相同错误。按照建议,使用git config--global core. autocrlf false来禁用它,然后确保您的文件仅使用LF换行符,然后推送。

我很惊讶,这些问题已经持续了这么长时间,我无法找到一个线程详细说明这个修复,但希望这对你有用。