如何在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支持的直接引用是“你是独立的”。
- 在应用程序中创建bin目录。
- 将Debian etch amd64二进制文件添加到此目录中。 例如,添加名为mongodump的应用程序。
- 让您的代码执行系统调用。 示例(注意缺少路径):
system "bin/mongodump --help"
系统调用将返回true或false。
您是否确保本地二进制文件的权限允许执行? Git是权限感知的。 如果没有,您需要确保该文件允许可执行权限(如果必须,修改权限),然后将修改后的文件添加到git并重新尝试再次尝试之前重新启动。 请记住,heroku将用于执行文件的用户可能是也可能不是所有者,因此您可能需要使用它们才能让heroku识别它。 只需chmod 777 bin/executable_name
作为最后的手段。