TextMate,rvm和TM_RUBY

jsp*_*ner 5 ruby textmate rvm

TextMate的RVM说明它说的文本设置TM_RUBY/Users/wayne/.rvm/bin/textmate_ruby图像就说明它设置为rvm-auto-ruby.我决定让它rvm-auto-ruby认为它会使用RVM的默认Ruby版本.

在设置为Command R的RSpec.bundle中运行时将导致加载错误.当你把它设置为它工作.TM_RUBYrvm-auto-rubytextmate_ruby

这里唯一的问题是TextMate并不总是使用默认版本的Ruby,因为它在该文件中是硬编码的.

/Users/jspooner/.rvm/bin/textmate_ruby:

#!/usr/bin/env bash

if [[ -s "/Users/jspooner/.rvm/environments/ruby-1.9.2-head" ]] ; then
  source "/Users/jspooner/.rvm/environments/ruby-1.9.2-head"
  exec ruby "$@"
else
  echo "ERROR: Missing RVM environment file: '/Users/jspooner/.rvm/environments/ruby-1.9.2-head'" >&2
  exit 1
fi
Run Code Online (Sandbox Code Playgroud)

所以有两个问题:

  1. TM_RUBY=rvm-auto-ruby实际应该做什么?
  2. 有没有办法让TextMate使用RVM默认值?

小智 10

将TM_RUBY设置为 your-path/rvm-auto-ruby

http://rvm.io/integration/textmate/

应该加载任何ruby和gemset在项目中的.rvmrc文件中指示,如果没有默认为rvm默认值.我刚刚开始工作,非常顺利.我确实需要获得最新版本的rvm

rvm get head
Run Code Online (Sandbox Code Playgroud)

使其工作并重新启动Textmate.希望有所帮助.


the*_*Man 8

在TextMate和rvm中查看您的其他类似问题Rspec包已损坏.


为了帮助其他人追逐同样的问题,解决方案似乎是:RVM/Textmate不识别.rvmrc选项.

基本上你用~/.rvm/bin/textmate_ruby文件替换软链接.这就是我做的:

  1. cd ~/.rvm/bin
  2. mv textmate_ruby old.textmate_ruby
  3. textmate_ruby使用以下内容创建在同一目录中调用的shell脚本以替换软链接:
    
    

    !/usr/bin/env sh

    source ~/.rvm/scripts/rvm cd . exec ruby "$@"
  4. chmod +x textmate_ruby

在进行此更改之前,如果我执行了CMD+ R在TextMate中运行以下脚本,我会看到我的系统Ruby的版本(1.8.7):

puts RUBY_VERSION
Run Code Online (Sandbox Code Playgroud)

使用CMD+ CNTRL+ SHIFT+ 评估脚本E给了我1.9.2.

切换到使用该脚本后都指向Ruby 1.9.2,所以至少现在有一些一致性.我没有看到TextMate跟踪我当前设置的RVM Ruby版本; 相反,它使用RVM中设置的默认版本:rvm use 1.9.2 --default.这仍然是向前迈出的一步,因为我可以通过调整我来控制Ruby TextMate使用的内容--default.

如果您决定稍后要还原,只需重命名或删除脚本并反转上面的步骤2.