Почему мой скрипт на Ruby не выполняется в TextMate? - PullRequest
1 голос
/ 20 октября 2010

Я изучаю основы программирования игр на Ruby и Gosu.Я установил Gosu из RubyGems, и в настоящее время он находится в /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 и пытаюсь выполнить сценарий с помощью команды-R, появляется стандартное окно выполнения, но ничего не происходит, за исключением индикатора прогресса вращения.

Я изменилвладелец gosu-9.7.24-universal-darwin/ для себя и даже пытался изменить владельца всего каталога ruby/ (/usr/local/lib/ruby/), но безрезультатно.

Я использую стандартный пакет Ruby в TextMate.

Вот скрипт, который я пытаюсь запустить, но такое же событие происходит с любым из примеров скриптов:

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

Обновление

По предложению Грега я установил RVM и настройте gemset для Ruby 1.9.2-p0 и Gosu.Я настроил интеграцию TextMate, но я все еще получаю бесконечный счетчик прогресса при попытке выполнить мой скрипт в TextMate.Команда run в пакете TextMate для Ruby выглядит следующим образом:

#!/bin/sh

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

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

Возможно, здесь что-то нужно изменить?

Обновление 2

В моей "оболочке"Панель предпочтений переменных в TextMate, 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.

Ответы [ 2 ]

2 голосов
/ 20 октября 2010

TextMate не наследует тот же путь, что и приложения командной строки, поэтому вам нужно указать ему, где искать.Возможно, вы захотите установить RVM, используйте его для установки ваших Ruby, затем выполните следующие действия: https://rvm.io/integration/textmate/

0 голосов
/ 24 января 2011

Я столкнулся с подобной проблемой.Поэтому я добавил:

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
 %
...