我正在使用的应用程序当前正在使用使用ffmpegthumbnailer 2.0.8的buildpack,我需要在2.1.2版中添加的功能。我已经将我们当前正在使用的buildpack的repo分发https://github.com/akomic/heroku-buildpack-ffmpegthumbnailer并更新了bin/compile
文件以将download_url指向“https://github.com/dirkvdb/ffmpegthumbnailer/archive/2.2.0.tar.gz”,但是当我将我的fork repo添加到应用程序并运行时heroku run "ffmpegthumbnailer -version"
验证它是否有效我收到bash: ffmpegthumbnailer: command not found
错误。
以下是原始bin/compile
:
#!/bin/sh
indent() {
sed -u 's/^/ /'
}
echo "-----> Install ffmpegthumbnailer"
BUILD_DIR=$1
VENDOR_DIR="vendor"
DOWNLOAD_URL="http://www.aksiom.net/stuff/ffmpegthumbnailer_2.0.8-2.bin.tar.gz"
echo "DOWNLOAD_URL = " $DOWNLOAD_URL | indent
cd $BUILD_DIR
mkdir -p $VENDOR_DIR
cd $VENDOR_DIR
curl -L --silent $DOWNLOAD_URL | tar zx
echo "exporting PATH and LIBRARY_PATH" | indent
PROFILE_PATH="$BUILD_DIR/.profile.d/ffmpeg.sh"
mkdir -p $(dirname $PROFILE_PATH)
echo 'export PATH="$PATH:$HOME/vendor/ffmpegthumbnailer_2.0.8-2/bin"' >> $PROFILE_PATH
echo 'export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$HOME/vendor/ffmpegthumbnailer_2.0.8-2/lib"' >> $PROFILE_PATH
这是我在forked repo中更新的bin / compile:
#!/bin/sh
indent() {
sed -u 's/^/ /'
}
echo "-----> Install ffmpegthumbnailer"
BUILD_DIR=$1
VENDOR_DIR="vendor"
DOWNLOAD_URL="https://github.com/dirkvdb/ffmpegthumbnailer/archive/2.2.0.tar.gz"
echo "DOWNLOAD_URL = " $DOWNLOAD_URL | indent
cd $BUILD_DIR
mkdir -p $VENDOR_DIR
cd $VENDOR_DIR
curl -L --silent $DOWNLOAD_URL | tar zx
echo "exporting PATH and LIBRARY_PATH" | indent
PROFILE_PATH="$BUILD_DIR/.profile.d/ffmpeg.sh"
mkdir -p $(dirname $PROFILE_PATH)
echo 'export PATH="$PATH:$HOME/vendor/ffmpegthumbnailer_2.0.8-2/bin"' >> $PROFILE_PATH
echo 'export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$HOME/vendor/ffmpegthumbnailer_2.0.8-2/lib"' >> $PROFILE_PATH
其他信息:我使用heroku buildpacks:add <link_to_forked_repo>
感谢您的帮助!
答案 0 :(得分:0)
这是因为指定的原始akomic tarball不是源代码,而是编译的二进制文件和库的自定义zip。请注意,compile
脚本没有make
步骤。没有关于如何创建此自定义tarball的文档,但可能是如果您使用较新版本的源代码执行相同的过程,然后将其上载到此脚本可以访问它的位置,它将再次起作用。我现在正试图解决这个问题。