无法在Heroku中构建libffi自定义buildpack

0 投票
2 回答
675 浏览
提问于 2025-04-18 06:35

我查了一下,发现了一个关于自定义LIBFFI Heroku构建包的问题的帖子,里面提到可以使用一个分支的libffi构建包。

但是即使我按照那里的说明去做,还是没法正确编译。系统提示了很多个No package 'libffi' found的错误信息(完整日志在下面)。

我该怎么才能让libffi在Heroku的Python应用中正确编译呢?

requirements.txt文件内容:

Flask==0.10.1
gunicorn==18.0
cryptography==0.3

构建包环境变量:

BUILDPACK_URL:                 git://github.com/mfenniak/heroku-buildpack-python-libffi.git

git推送错误信息:

https://gist.github.com/HanSooloo/8a9290c032ed603f6cf4#file-libffi-errors

更新

我觉得自己很傻,因为我在Heroku设置BUILDPACK_URL环境变量时明显复制粘贴错了。

这个分支的构建包在h++ps://github.com/kennethjiang/heroku-buildpack-python-libffi上,和原来的那个在h++ps://github.com/mfenniak/heroku-buildpack-python-libffi的Readme.md文件是一样的。

这就意味着,如果我只是简单地从'kennethjiang'的仓库复制粘贴说明,我实际上是在指向'mfenniak'的原始仓库:

kennethjiang的Readme.md内容:

$ heroku config:add BUILDPACK_URL=git://github.com/mfenniak/heroku-buildpack-python-libffi.git

我应该做的是:

$ heroku config:add BUILDPACK_URL=git://github.com/kennethjiang/heroku-buildpack-python-libffi.git

2 个回答

2

现在不需要再更改BUILDPACK_URL了。

只需在requirements.txt文件中添加cffi或cryptography中的任意一个,libffi会自动被安装好。

1

我觉得自己很傻,因为在Heroku设置BUILDPACK_URL环境变量的时候,明显做了个错误的复制粘贴。

这个分叉的构建包在 https://github.com/kennethjiang/heroku-buildpack-python-libffi 上,和原始的构建包在 https://github.com/mfenniak/heroku-buildpack-python-libffi 上的 Readme.md 文件是一样的。

这就意味着,如果我只是简单地从'kennethjiang'的仓库复制粘贴说明,我实际上是在指向'mfenniak'的原始仓库。

kennethjiang的Readme.md:

$ heroku config:add BUILDPACK_URL=git://github.com/mfenniak/heroku-buildpack-python-libffi.git

我应该做的是:

$ heroku config:add BUILDPACK_URL=git://github.com/kennethjiang/heroku-buildpack-python-libffi.git

撰写回答