如何让Textmate使用MacRuby?

时间:2011-02-05 20:04:57

标签: textmate macruby

那么,我如何让Textmate使用MacRuby,1.9.2的分支,而不是OSX中的默认Ruby,1.8.7?

2 个答案:

答案 0 :(得分:5)

自昨晚以来一直在努力......终于开始工作了

如何在TextMate上运行MacRuby

By(johnrubythecat *)

*参考约翰·罗比,“猫”,小偷在“抓小偷”中扮演的小偷

Ruby on OS X目前是1.8.7 但最新版本的Ruby是1.9.2(更快) MacRuby(比RubyCocoa好得多)建立在1.9.2

之上

以下是使用ruby轻松构建mac桌面应用程序的说明

安装RVM

1)install rvm使用git

$ bash < <( curl http://rvm.beginrescueend.com/releases/rvm-install-head ) http://rvm.beginrescueend.com/

1.2).bash_profile或.bashrc中的源命令(因此可以找到rvm bin):
source $HOME/.rvm/scripts/rvm

安装MACRUBY

2)使用rvm安装MacRuby

rvm notes # to see available rubies
rvm install macruby-0.8 # for exmpl

3)然后,rvm --default macruby-0.8
(或至少rvm use macrmacruby-0.8

CONFIGURE TEXTMATE

4)使用此脚本更新Textmate捆绑包,以确保您是最新的;见:


--- #!/usr/bin/env bash
mkdir -p /Library/Application\ Support/TextMate/
sudo chown -R $(whoami) /Library/Application\ Support/TextMate
cd /Library/Application\ Support/TextMate/
if [[ -d Bundles/.svn ]] ; then
  cd Bundles && svn up
else
  if [[ -d Bundles ]] ; then
    mv Bundles Bundles.old
  fi
  svn co http://svn.textmate.org/trunk/Bundles
fi
exit 0

5)为TextMate生成Ruby包装器包装器 rvm wrapper macruby-0.8 textmate

包装器位于$HOME/.rvm/bin;它被称为textmate_ruby

6)转到TextMate首选项中的shell变量,并将TM_RUBY设置为
/Users/homedirname/.rvm/bin/textmate_ruby

应该这样做

运行你的APP

7)这个脚本运行得很好 - 打开一个Cocoa窗口

framework 'AppKit'
class AppDelegate
  def applicationDidFinishLaunching(notification)
    voice_type = "com.apple.speech.synthesis.voice.GoodNews"
    @voice = NSSpeechSynthesizer.alloc.initWithVoice(voice_type)
  end

  def windowWillClose(notification)
    puts "Bye!"
    exit
  end

  def say_hello(sender)
    @voice.startSpeakingString("Hello World!")
    puts "Hello World!"
  end
end

app = NSApplication.sharedApplication
app.delegate = AppDelegate.new

window = NSWindow.alloc.initWithContentRect([200, 300, 300, 100],
  styleMask:NSTitledWindowMask|NSClosableWindowMask|NSMiniaturizableWindowMask,
  backing:NSBackingStoreBuffered, 
  defer:false)
window.title      = 'MacRuby: The Definitive Guide'
window.level      =  NSModalPanelWindowLevel
window.delegate   = app.delegate
button = NSButton.alloc.initWithFrame([80, 10, 120, 80])
button.bezelStyle = 4
button.title      = 'Hello World!'
button.target     = app.delegate
button.action     = 'say_hello:'
window.contentView.addSubview(button)
window.display
window.orderFrontRegardless
app.run

这是一段视频,讨论如何将MacRuby与XCode集成。

http://thinkcode.tv/catalog/introduction-macruby/

这是8.99,但我建议我自己购买的东西。它的MacRuby已经过时了(0.6),但它显示了在XCode中使用MacRuby的细节,包括设置XIB和建立连接,创建应用程序委托,将Textmate设置为外部编辑器。

非常有用。推荐使用。

答案 1 :(得分:5)

更简单的答案:

  1. 安装MacRuby

  2. 转到TextMate-&gt; Preferences-&gt; Advanced-&gt; Shell变量,并将名为TM_RUBY的变量添加到/usr/local/bin/macruby

    • 或者,修改PATH变量以包含/usr/local/bin/,然后将TM_RUBY设置为macruby

  3. 如果您已通过RVM安装了MacRuby,请改为:

    1. 生成稳定的包装器:
      rvm wrapper macruby-0.8 macruby#创建〜/ .rvm / bin / macruby

    2. TM_RUBY设置为/Users/yourusername/.rvm/bin/macruby(必须是绝对路径)。

      • 或者,修改PATH变量以包含/Users/yourusername/.rvm/bin,然后将TM_RUBY设置为macruby

    3. 如果用户界面中不明显,您可以使用TM_RUBY旁边的复选框启用或禁用其在TextMate中的使用。