首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rubygame on OS X shebang问题

Rubygame on OS X shebang问题
EN

Stack Overflow用户
提问于 2010-01-02 11:59:28
回答 2查看 478关注 0票数 1

我在玩Rubygame。我用Mac Pack安装了它,现在我有了rsdl可执行文件。rsdl game.rb运行得很好,但当我chmod +x rb文件,将shebang添加到rsdl (尝试直接路径和/usr/bin/env rsdl)并尝试执行它(./game.rb)时,它开始在终端和试图打开的rsdl之间闪烁,最终放弃并给出一个bus error。有人知道这是什么原因吗?我在Snow Leopard (10.6.2)上,如果它有区别的话。

谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-05-09 12:46:11

我相信这是嵌入式ruby的一个问题。Ruby有一个可怕的技巧来处理shebang执行,它本质上是在可执行文件名(即argv)中查找"ruby“。如果您的嵌入式ruby可执行文件的名称中没有" ruby“,则此hack将失败,并且您将得到一个无限循环(如果重命名,即使是普通ruby也会发生这种情况)。假设这里就是这种情况,你可以sym-link或者mv到rsdl-ruby (或者类似的),把你的shebang改成#!/usr/bin/env rsdl-ruby,它就可以工作了。

票数 1
EN

Stack Overflow用户

发布于 2010-05-09 12:26:13

rsdl期望您执行的位置可能存在问题(例如,从可执行文件,而不是游戏文件)。我发现的方法是打开rsdl可执行文件(假设它只是一个ruby脚本),然后查看里面。我认为知道为什么要从ruby脚本中独立执行也是很有用的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1990563

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档