如何在Heroku上安装brew或ffmpeg?安装brew后命令未找到求助
在Heroku上安装Homebrew(Linuxbrew)并部署ffmpeg的解决方案
你想在Heroku上装brew来搞定ffmpeg的需求我get到了,先说说你之前遇到的问题:你把Linuxbrew的安装命令堆在一起执行后,出现bash: brew: command not found,核心原因有两个——一是Heroku的dyno是临时容器,每次重启都会重置环境;二是你把多个命令用&&串起来,修改shell配置文件的操作不会在当前会话立即生效,导致brew路径没被加载。
下面给你两种可行的解决办法,按需选择:
方法一:直接用Heroku官方Buildpack装ffmpeg(更省心)
其实完全不用绕brew,Heroku有官方维护的buildpack可以直接安装ffmpeg,步骤简单还持久:
- 给你的Heroku应用添加ffmpeg buildpack:
heroku buildpacks:add heroku-community/ffmpeg -a 你的应用名称 - 提交一个空commit触发重新部署:
git commit --allow-empty -m "Add ffmpeg buildpack" git push heroku main
部署完成后,ffmpeg就会自动加入系统路径,直接敲ffmpeg就能用了。
方法二:临时在Heroku Dyno里装Linuxbrew(适合多工具需求)
如果确实需要用brew管理多个工具,你可以在单次dyno会话里分步安装:
- 先进入Heroku的交互式shell会话:
heroku run bash -a 你的应用名称 - 分步执行安装和配置命令(别像之前那样堆一起):
# 先安装Linuxbrew sh -c "$(curl -fsSL https://raw.githubusercontent.com/Linuxbrew/install/master/install.sh)" # 临时配置当前shell的PATH,让系统找到brew if test -d ~/.linuxbrew; then PATH="$HOME/.linuxbrew/bin:$HOME/.linuxbrew/sbin:$PATH"; fi if test -d /home/linuxbrew/.linuxbrew; then PATH="/home/linuxbrew/.linuxbrew/bin:/home/linuxbrew/.linuxbrew/sbin:$PATH"; fi # 验证brew是否能正常调用 brew --version - 现在就可以用brew装ffmpeg了:
brew install ffmpeg
⚠️ 注意:这种方式安装的brew和ffmpeg只在当前会话有效,dyno重启或者会话结束就会消失。如果要每次启动都自动安装,得把这些步骤写到你的应用启动脚本(比如Procfile)里,但会增加启动时间,不推荐除非必要。
内容的提问来源于stack exchange,提问作者Donovant
相关产品推荐
相关产品推荐

