为什么我的Ruby脚本不能在TextMate中执行?

时间:2010-10-19 21:12:33

标签: ruby macos textmate libgosu

我正在使用Ruby和Gosu学习基本的游戏编程。我已经从RubyGems安装了Gosu,它目前位于/usr/local/lib/ruby/gems/1.9.1/gems/

完整路径为/usr/local/lib/ruby/gems/1.9.1/gems/gosu-0.7.24-universal-darwin/

当我处理我的游戏脚本时,我可以使用终端命令ruby game.rb来执行该文件。但是,当我在TextMate中编辑脚本并尝试使用command-R执行脚本时,会出现标准执行窗口,但不执行任何操作,除了旋转进度指示器。

我已将gosu-9.7.24-universal-darwin/的所有者更改为自己,甚至尝试更改整个ruby/目录(/usr/local/lib/ruby/)的所有者,但无济于事。

我在TextMate中使用标准的Ruby包。

以下是我正在尝试运行的脚本,但在任何示例脚本上都会发生相同的事件:

require "rubygems"
require "gosu"

class  GameWindow < Gosu::Window
  def initialize
    super(640,360, false)
    self.caption = "Gosu Tutorial Game"
  end

  def update
  end

  def draw
  end

  def button_down(id)
    if id == Gosu::KbEscape
      close
    end
  end
end

window = GameWindow.new
window.show

更新

根据Greg的建议,我安装了RVM并为Ruby 1.9.2-p0和Gosu设置了一个gemset。我设置了TextMate集成,但在尝试在TextMate中执行我的脚本时,我仍然得到了永无止境的进度微调器。因此,TextMate的Ruby包中的run命令显示为:

#!/bin/sh

export RUBYLIB="$TM_BUNDLE_SUPPORT/RubyMate${RUBYLIB:+:$RUBYLIB}"

/usr/bin/env ruby -KU -- "$TM_BUNDLE_SUPPORT/RubyMate/run_script.rb"

也许某些事情需要在这里改变?

更新2

在TextMate的“Shell变量”首选项面板中,TM_RUBY设置为/Users/michael/.rvm/bin/rvm-auto-rubyPATH设置为/Users/michael/.rvm/gems/ruby-1.9.2-p0@gosu/bin:/Users/michael/.rvm/gems/ruby-1.9.2-p0@global/bin:/Users/michael/.rvm/rubies/ruby-1.9.2-p0/bin:/Users/michael/.rvm/bin:/usr/local/bin:/usr/local/sbin:/usr/local/mysql/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/git/bin:/usr/X11/bin

2 个答案:

答案 0 :(得分:2)

TextMate不会继承与命令行应用程序相同的路径,因此您必须告诉它在哪里查看。

http://manual.macromates.com/en/shell_commands

为了长期健全,您可能需要安装RVM,使用它来安装您的Rubies,然后执行以下步骤:https://rvm.io/integration/textmate/

答案 1 :(得分:0)

我遇到了类似的问题。所以我添加了一个:

puts Gem.path

到我的脚本,发现它被设置为错误的目录。所以我进去了,并设置了一个符号链接到Gem.path指向的位置,并将其设置为我的宝石实际所在的位置。现在我可以再次点击命令+ r,一切都像以前一样工作。

 % l
 lrwxr-xr-x  1 safi  staff    37B Jan  4 11:32 1.9 -> /Users/safi/.rvm/gems/ruby-1.9.2-p136
 drwxr-xr-x  6 safi  staff   204B Jan  4 11:32 1.9.1
 % mv 1.9.1 1.9.1_empty
 % ln -s 1.9 1.9.1
 % l
 lrwxr-xr-x  1 safi  staff    37B Jan  4 11:32 1.9 -> /Users/safi/.rvm/gems/ruby-1.9.2-p136
 lrwxr-xr-x  1 safi  staff     3B Jan 24 10:14 1.9.1 -> 1.9
 drwxr-xr-x  6 safi  staff   204B Jan  4 11:32 1.9.1_empty
 %