那么,如何让 Textmate 使用 MacRuby(1.9.2 的一个分支)而不是 OSX 中的默认 Ruby 1.8.7?
2 回答
更简单的答案:
安装MacRuby
转到 TextMate->Preferences->Advanced->Shell 变量并添加一个名为
TM_RUBY
set的变量/usr/local/bin/macruby
。- 或者,编辑
PATH
变量以包含/usr/local/bin/
并设置TM_RUBY
为macruby
.
- 或者,编辑
如果您通过RVM安装了 MacRuby ,则改为:
生成稳定的包装器:
rvm wrapper macruby-0.8 macruby
# 创建 ~/.rvm/bin/macruby设置
TM_RUBY
为/Users/yourusername/.rvm/bin/macruby
(必须是绝对路径)。- 或者,编辑
PATH
变量以包含/Users/yourusername/.rvm/bin
并设置TM_RUBY
为macruby
.
- 或者,编辑
如果从 UI 中看不出来,您可以使用旁边的复选框TM_RUBY
来启用或禁用它在 TextMate 中的使用。
从昨晚开始就一直在做这个……终于让它工作了
如何让 MacRuby 在 TextMate 上运行
由 (johnrubythecat*)
*参考约翰罗比,“猫”,由卡里格兰特在《捉贼记》中扮演的小偷
OS X 上的 Ruby 目前是 1.8.7 但最新版本的 Ruby 是 1.9.2(快得多)并且 MacRuby(比 RubyCocoa 好得多)是基于 1.9.2 构建的
- http://www.ruby-lang.org/en/
- http://www.macruby.org/
- http://rubycocoa.sourceforge.net/HomePage(已过时,但如果你好奇的话)
所以这里是使用 ruby 轻松构建 mac 桌面应用程序的说明
安装 RVM
1)用 git安装 rvm
$ 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
)
配置文本
4) 使用此脚本更新 Textmate 捆绑包,以确保您是最新的;看:
- http://www.christopherirish.com/2010/06/28/how-to-setup-textmate-to-use-rvm/
- 和https://gist.github.com/455521
--- #!/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 wrapper 包装器
rvm wrapper macruby-0.8 textmate
包装器在$HOME/.rvm/bin
;它被称为textmate_ruby
6)转到TextMate首选项中的shell变量并设置TM_RUBY
为
/Users/homedirname/.rvm/bin/textmate_ruby
应该这样做
运行您的应用程序
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 设置为外部编辑器。
很有用。推荐的。