как выполнить бинарную на героку? - PullRequest
1 голос
/ 12 мая 2011

Я пытаюсь выполнить бинарный файл на героку Я слежу за этим блогом: http://www.verrot.fr/2010/02/24/executing-binary-files-with-ruby-on-rails-and-heroku/:

У меня есть следующий код:

@exec = IO.popen("#{Rails.root}/bin/aapt version")
@result = @exec.gets
puts @result

У меня есть следующая ошибка на heroku, пока он работает на локальном сервере rails:

command not found: app/bin/aapt version

У вас есть идея, как это сделать? Или, если вы уже сделали это?

Ответы [ 2 ]

5 голосов
/ 13 мая 2011

Как я заставил это работать, но будьте осторожны, Heroku не поддерживает это решение.Прямая цитата из службы поддержки Heroku: «Вы сами по себе».

  1. Создайте в своем каталоге каталог bin.
  2. Добавьте в этот каталог двоичные файлы Debian etch amd64.Например, добавьте приложение с именем mongodump.
  3. Пусть ваш код выполняет системный вызов.Пример (обратите внимание на отсутствие пути):
system "bin/mongodump --help"

Значение true или false будет возвращено из системного вызова.

0 голосов
/ 12 мая 2011

Вы удостоверились, что разрешения для вашего локального двоичного файла разрешают выполнение?Git учитывает права доступа.Если нет, вам нужно убедиться, что файл разрешает выполнение исполняемых файлов (измените разрешения, если необходимо), затем добавьте измененный файл в git и повторно загрузите в heroku, прежде чем пытаться снова.Имейте в виду, что пользователь heroku будет использовать для запуска файла, может быть, а может и не быть его владельцем, поэтому вам, возможно, придется поиграть с ними, чтобы заставить heroku распознать его.Просто chmod 777 bin/executable_name в крайнем случае.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...