如何在heroku上执行二进制文件?

我尝试在heroku上执行二进制文件。 我关注这个博客: 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 

您是否知道如何做到这一点? 或者如果你已经这样做了?

我如何让这个工作,但要注意,Heroku不支持这个解决方案。 Heroku支持的直接引用是“你是独立的”。

  1. 在应用程序中创建bin目录。
  2. 将Debian etch amd64二进制文件添加到此目录中。 例如,添加名为mongodump的应用程序。
  3. 让您的代码执行系统调用。 示例(注意缺少路径):
 system "bin/mongodump --help" 

系统调用将返回true或false。

您是否确保本地二进制文件的权限允许执行? Git是权限感知的。 如果没有,您需要确保该文件允许可执行权限(如果必须,修改权限),然后将修改后的文件添加到git并重新尝试再次尝试之前重新启动。 请记住,heroku将用于执行文件的用户可能是也可能不是所有者,因此您可能需要使用它们才能让heroku识别它。 只需chmod 777 bin/executable_name作为最后的手段。