Sublime Text 2:Ruby Markers插件错误


1

环境:Mac OSX 10.8.3; Ruby 1.9.3-p392来自rbenv; ST2版本2.0.1 build 2217;

我已经为ST2安装了Ruby Markers插件和gem rcodetools(插件需要)

但是当在ruby文件中运行插件(从菜单或热键)时,我收到ST2错误

There was an OS error: No suce file or directory

我已经搜索了这个,并且大多数人都说它因为红宝石不在ST2 $ PATH中,但据我所知,情况并非如此,并且正常的Ruby构建命令工作正常。

有没有人遇到过这个问题,和/或有一个解决方案。我很想让这个插件正常工作。

Answers:


1

我自己回答了问题,有人可能会发现这个问题。

rbenv在其shims目录中为xmpfilter(用于Ruby Markers的rcodetools gem的一部分)安装gem可执行文件,并且需要告诉ST2 / Ruby Markers它在哪里。

首先在终端确认xmpfilter所在的位置

$ which xmpfilter

它应该类似于/Users/name/.rbenv/shims/xmpfilter

然后在ST2中转到Preferences-Package Settings-Ruby Markers-User-Settings并使用上一步中找到的路径粘贴以下内容

{
    "xmpfilter_bin_posix": "/path/to/xmpfilter"
}

我没有在我的崇高文本3.首选项 - 包设置 - 红宝石标记 - 用户设置不存在..
Mohit Jain 2014年

我也在使用RVM。
Mohit Jain 2014年

1

正如您的研究向您展示的那样,这是一个错误,因为ST2 $PATH变量不包含ruby路径(实际上xmpfilter是特定的路径)。这是因为默认情况下ST2不会加载到用户会话中,并且由于您使用的是rbenv,因此您的ruby环境会附加到$PATHshell配置文件中(即.bashrc)。

插件的默认设置假设您具有多用户ruby安装而不是单用户安装。Ruby Markers的rvm和rbenv托管ruby安装都有特殊设置。在托管的ruby安装中使用"check_for_rvm": true"check_for_rbenv": true使用xmpfilter。


是的,我在Ruby Markers配置中看到了这些选项,但是将rbenv设置为true没有任何效果。只有当我通过bin_posix设置的完整路径时才开始工作。
完全烘烤

1
@fullybaked我刚看到你的回复。如果是这种情况,那么我将不得不研究rbenv处理。我使用rvm并知道它有效,但我没有用rbenv测试它。
Michael Mims

对不起,甚至没有注意到你是插件作者。是的,就像我说的那样。check_for_rbenv没有任何效果,只设置xmp_filter参数使其正常工作。事实上,rbenv可以保持设置为xmpfilter posix设置为false。如果我可以帮助修复/调试让我知道
完全烘烤2013年

0

我有几个rbenv的问题,我将在下面总结其他人:

  1. 确保启用rbenv检测: "check_for_rbenv": true
  2. 让你安装rcodetools并运行 rbenv rehash
  3. 如果您使用自制软件安装了rbenv,则该插件的当前版本无法检测到这一点(~/.rbenv/bin/rbenv根据rbenv git安装方法,它可以预期为rbenv)
  4. 该插件不遵守rbenv .ruby-version约定,因为它在执行xmpfilter进程时不会更改目录。我有一个forkpull请求打开,修复了这个问题

博客文章

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.