编辑:我找到了解决方案,你可以在我的回答中看到它。
我在Snow Leopard上使用Textmate,并安装了ruby 1.9。问题是由于某些原因Textmate使用Ruby 1.8.2
但是当我使用IRB,或者为shell运行ruby脚本时,会使用正确版本的Ruby(1.9)。
如何配置Textmate以便它使用1.9.2?
我一直在谷歌搜索,显然你必须使用T_RUBY变量和textmate,并在OSX中设置一些环境变量,但到目前为止,我发现的方法都不适用于我。
有人可以逐步解决这个问题吗?
更新:我已经尝试在textmate中添加ruby二进制路径到TM_RUBY,我收到此错误:
> Can't find
> “/Users/myname/.rvm/rubies/ruby-1.9.2-p180/bin/ruby
> /Users/myname/.rvm/rubies/ruby-1.9.2-p180/bin/ruby
> /Users/myname/.rvm/rubies/ruby-1.9.2-p180/bin/ruby
> ” on PATH. Theme: The current PATH is:
> /usr/bin /bin /usr/sbin /sbin Please
> add the directory containing
> “/Users/myname/.rvm/rubies/ruby-1.9.2-p180/bin/ruby
> /Users/myname/.rvm/rubies/ruby-1.9.2-p180/bin/ruby
> /Users/myname/.rvm/rubies/ruby-1.9.2-p180/bin/ruby
> ” to PATH in TextMate's Shell
> Variables preferences.
答案 0 :(得分:31)
如果您使用RVM,也许您可以尝试输入:
> which rvm-auto-ruby
/Users/eddie/.rvm/bin/rvm-auto-ruby
并将此路径设置为您的textmate perferences中名为“TM_RUBY”的shell变量,如我的屏幕截图
http://dl.dropbox.com/u/6931090/downloads/textmate-preferences.png
希望有所帮助:)
答案 1 :(得分:8)
在preferences / advanced / shell变量下,添加一个名为TM_RUBY
的新变量。并输入ruby二进制文件的绝对路径。
您可以通过打开终端并输入以下内容来获取后者:
which ruby
答案 2 :(得分:4)
解决方案实际上非常简单,无需特殊的安装程序。如TextMate blog所述,您需要做的就是告诉文本配对您的路径变量。默认情况下,TextMate不会加载此信息。在“首选项”中,转到变量选项卡,使用值PATH
添加变量$PATH:/usr/local/bin
(如果它尚不存在)。这告诉TextMate复制系统PATH。系统的ruby位于/usr/bin/ruby
中,它包含在OSX默认路径中。如果您安装了ruby的自定义版本,那么还要附加该路径,例如此处我附加了/usr/local/bin
(不要忘记冒号)。
答案 3 :(得分:2)
如果您使用which ruby
而TextMate说exec: rbenv: not found
,则需要输入以下内容:rbenv which ruby
。在TM_RUBY
。
答案 4 :(得分:0)
使用 ruby 给我的路径没有用。谷歌搜索了一段时间后,我找到了一个有效的解决方案,使用rvm的自动ruby路径作为TM_RUBY变量。 路径是: /Users/0al0/.rvm/bin/rvm-auto-ruby 这只适用于使用rvm的情况。