我正在使用heroku开发django后端。我想使用geoDjango来让我的模型支持空间特性。我按照django和heroku文档中描述的所有步骤进行操作,但是当我想在服务器上运行manage.py migrate或其他请求和命令时仍然会出现错误:
OSError: /app/.heroku/vendor/lib: cannot open shared object file: No such file or directory
我检查了bash,发现我的供应商中没有lib目录。我对Heroku上的buildpack和配置不太了解,所以不知道从哪里开始修复这个错误。这是我的buildspack:
- https://github.com/cyberdelia/heroku-geo-buildpack.git
- heroku/python
https://github.com/cyberdelia/heroku-geo-buildpack.git#e1b845b
https://github.com/heroku/heroku-buildpack-python.git
我也尝试了一些无法构建的不同分支...
我在我的设置中添加了路径:
GEOS_LIBRARY_PATH = os.environ.get('GEOS_LIBRARY_PATH')
GDAL_LIBRARY_PATH = os.environ.get('GDAL_LIBRARY_PATH')
我有点迷失,所以非常需要帮助。
编辑: 我试图将我的堆栈降级到 heroku-16(它之前是 heroku-18),并且已经构建成功,但当我想要迁移数据时,出现了一个新的错误消息:
OSError: /app/.heroku/vendor/lib: cannot read file data: Is a directory
当我尝试按照这个教程操作时,甚至无法构建并获得以下信息:
-----> geos/gdal/proj app detected
Using geos version: <?xml version="1.0" encoding="UTF-8"?>
Using gdal version: <?xml version="1.0" encoding="UTF-8"?>
Using proj version: <?xml version="1.0" encoding="UTF-8"?>
/app/tmp/buildpacks/3174f4234c5151450fcaba5f50a050126498959c8209a7a6057230bfb29be2eaef3ae0098ab726ef807728f7b4792e31db50a2b89636ae181d9e71b03f2f83c1/bin/compile: line 82: [: too many arguments
/app/tmp/buildpacks/3174f4234c5151450fcaba5f50a050126498959c8209a7a6057230bfb29be2eaef3ae0098ab726ef807728f7b4792e31db50a2b89636ae181d9e71b03f2f83c1/bin/compile: line 88: [: too many arguments
/app/tmp/buildpacks/3174f4234c5151450fcaba5f50a050126498959c8209a7a6057230bfb29be2eaef3ae0098ab726ef807728f7b4792e31db50a2b89636ae181d9e71b03f2f83c1/bin/compile: line 94: [: too many arguments
cp: target '/tmp/build_a7cfd7a56646fe632a93fc752b8ee03d/.heroku/vendor/lib/.' is not a directory
! Push rejected, failed to compile geos/gdal/proj app.
! Push failed