我正在使用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"
也许某些事情需要在这里改变?
在TextMate的“Shell变量”首选项面板中,TM_RUBY
设置为/Users/michael/.rvm/bin/rvm-auto-ruby
,PATH
设置为/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
。
答案 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
%