加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

TextMate的执行和更新’#=>’标记使用ruby 1.8而不是1.9进行

发布时间:2020-12-17 02:03:15 所属栏目:百科 来源:网络整理
导读:在TextMate 2中,执行和更新’#=’标记菜单操作更新以下代码中的标记,就像我正在运行 ruby 1.8一样,即使我的TM_RUBY环境变量设置为?/ .rvm / rubies / ruby??-1.9. 3-P286 /斌/ruby: v = RUBY_VERSION # = "1.8.7"puts "".singleton_classputs v# ~ -:2: und
在TextMate 2中,执行和更新’#=>’标记菜单操作更新以下代码中的标记,就像我正在运行 ruby 1.8一样,即使我的TM_RUBY环境变量设置为?/ .rvm / rubies / ruby??-1.9. 3-P286 /斌/ruby:

v = RUBY_VERSION # => "1.8.7"
puts "".singleton_class
puts v
# ~> -:2: undefined method `singleton_class' for "":String (NoMethodError)

另一方面,在TextMate 2中运行相同的代码将返回预期的命令输出:

#<Class:#<String:0x007fcf418941b8>>
1.9.3

这是一个很棒的功能,如果它仅限于ruby1.8,那将是一个真正的耻辱.但是,我怀疑这可能是我的设置所特有的(我实际上已经看到它在这里使用1.9代码:http://ruby-kickstart.com/).执行和更新’#=>’标记菜单操作在Ruby包中定义,它从rcodetools调用xmpfilter:

#!/usr/bin/env bash

[[ -f "${TM_SUPPORT_PATH}/lib/bash_init.sh" ]] && . "${TM_SUPPORT_PATH}/lib/bash_init.sh"

export RUBYLIB="$TM_BUNDLE_SUPPORT/vendor/rcodetools/lib${RUBYLIB:+:$RUBYLIB}"
export TM_RUBY=$(which "${TM_RUBY:-ruby}")

"${TM_RUBY}" -r "${TM_SUPPORT_PATH}/lib/ruby1.9/add_1.8_features.rb" -- "$TM_BUNDLE_SUPPORT/vendor/rcodetools/bin/xmpfilter"

add_1.8_features.rb文件只为String和File类添加了一些遗留方法(例如grep和remove).实际上,这使它能够支持ruby 1.9(见https://github.com/textmate/ruby.tmbundle/blob/master/Support/vendor/rcodetools/CHANGES).

在这一点上,我甚至不确定ruby1.8在哪里来自哪里.即使将显式路径传递给最新的ruby而不是上面最后一行中的“${TM_RUBY}”也不会改变输出.

我将非常感谢任何帮助我在TextMate中使用此(或等效)菜单操作.

解决方法

这是一个很好的参考.

http://cl.ly/23Ylhttp://cl.ly/23Yl/rvm_textmate.png

确保您运行的是所有新版本.

开箱即用,rvm附带一个ruby二进制文件,通常在?/ .rvm / bin中(或者,在系统范围内的安装中,在/usr/local/bin中),它将在执行ruby之前执行以下步骤:

Load up RVM
Look for any RVMRC files and load them
Execute as a normal ruby

这种方法使得可以在没有任何额外工作的情况下基于每个项目切换ruby.安装了rvm后,这需要通过rvm-auto-ruby的完整路径,通过以下方式找到:

$rvm-auto-ruby

在textmate首选项的高级部分中,添加或更改TM_RUBY变量以指向给定路径,如此屏幕截图中显示的示例安装.

资料来源:https://rvm.io/integration/textmate/

FWIW:Josh Cheek很棒(rubykickstart)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读