Я добавил /app/vendor/usr/bin
в качестве переменной среды LD_LIBRARY_PATH
, но мое приложение Ruby on Rails не может найти wdiff
LD_LIBRARY_PATH
сообщает ОС, где искать библиотеки, которые будут динамически связаны во время выполнения . Например, если вы запускаете приложение, которое требует OpenSSL, но не включает в себя сам OpenSSL, операционная система может найти его через LD_LIBRARY_PATH
.
Каталоги, в которых ОС должна искать двоичные файлы перечислены в переменной PATH
. Попробуйте использовать это вместо этого.
Обратите внимание, что было бы очень необычно просто установить это значение в одно значение. Более распространенный подход заключается в добавлении или добавлении вашего пользовательского местоположения к любому значению, которое PATH
уже имеет, например, через что-то вроде
export PATH="$PATH:/app/vendor/usr/bin"
В случае, если существует несколько двоичных файлов с одним и тем же именем, найденные ранее по пути имеют приоритет над найденными позже.
Наконец, что-то специфичное для Heroku:
и добавил исполняемый файл в мою директорию /vendor/usr/bin
Как ты это сделал? Если бинарный файл является частью вашего репозитория, с вами все будет в порядке, но если вы добавили его вручную (например, с помощью heroku run bash
), вы обнаружите, что он исчезает через некоторое время. Это связано с эфемерной файловой системой Heroku .
Вам нужно будет включить wdiff
во время сборки. Один хороший способ сделать это - добавить второй сборочный пакет , такой как heroku-buildpack-apt
, а затем установить обычный пакет wdiff
через Aptfile
.
.