SublimeLinter-Rubocop 即使在启用并且路径中有 rubocop 时也不会运行

Posted

技术标签:

【中文标题】SublimeLinter-Rubocop 即使在启用并且路径中有 rubocop 时也不会运行【英文标题】:SublimeLinter-Rubocop not running even when enabled and rubocop in path 【发布时间】:2017-06-04 20:34:27 【问题描述】:

我正在尝试让 Rubocop 警告在 Sublime Text 3 中显示为代码标记。我正在使用 SublimeLinterSublimeLinter-rubocop 包。 (类似的RuboCop 包确实有效,但似乎不支持代码标记。)

rubocop 已安装并从 rbenv shims 文件夹运行:

$ rubocop response_test.rb
...
1 file inspected, 11 offenses detected

SublimeLinter 正在使用 rbenv 垫片:

SublimeLinter: computed PATH using /bin/bash:
/Users/andrew/.rbenv/shims
/usr/local/bin
/usr/bin
/bin
/usr/sbin
/sbin

扩展已启用:

...
"linters": 
    "rubocop": 
        "@disable": false,
        "args": [],
        "excludes": []
    ,
    ...

...

但是警告没有显示,而且 linter 甚至没有运行:

reloading settings Packages/User/SublimeLinter.sublime-settings
SublimeLinter: ruby: response_test.rb ['/usr/bin/ruby', '-wc'] 
SublimeLinter: ruby output:
Syntax OK

有什么可以解释的吗?我是 Rubocop 和 Sublime Text 的新手,所以我可能错过了一些基本的东西。

【问题讨论】:

【参考方案1】:

我最近也遇到了同样的问题,刚刚解决了。 您可能已经想通了,但这是我的解决方案。

我认为问题在于您的 sublime 正在搜索系统原始 ruby​​ 的路径/usr/bin/ruby'

你必须

首先,在Packages/User/SublimeLinter.sublime-settings 中为您的 ruby​​ env(在我的情况下为 rbenv)指定正确的路径,如下所示:


    ...
    "paths": 
        "linux": [],
        "osx": [
            "~/.rbenv/shims/"
        ],
        "windows": []
    ,
    ...

之后完全关闭 sublime 并重新打开它。

希望这会有所帮助。

【讨论】:

这对我有用。但作为 RVM 用户,我的 OSX 路径看起来更像这样:“/Users/ckragt/.rvm/gems/ruby-2.5.3/bin”

以上是关于SublimeLinter-Rubocop 即使在启用并且路径中有 rubocop 时也不会运行的主要内容,如果未能解决你的问题,请参考以下文章

为啥即使在配置之后 Git 也不允许我提交?

即使屏幕关闭,如何在后台运行代码?

即使在采取响应操作后,UIAlertView 也不会消失

为啥即使在 System.exit(0) 之后也需要返回;

Tensorflow:即使在关闭会话时内存泄漏?

即使我阻止横向旋转,屏幕也在旋转