如何使用 Syntastic Vim 插件和 Rbenv 启用 Rubocop



我想用Syntastic启用Rubocop检查器。我已经设置了一个检查器并给出了可执行文件的路径。尽管:SyntasticInfo报告说它不是一个活跃的检查器。此外,:SyntasticCheck rubocop报告说rubocop不是一个可用的检查器。

我还需要其他设置吗? 这可能是由rubocop --version给出的警告消息引起的吗?


.vimrc 设置

let g:syntastic_ruby_checkers          = ['rubocop', 'mri']
let g:syntastic_ruby_rubocop_exec      = '/Users/jjasonclark/.rbenv/shims/rubocop'

红波猫警告消息

warning: parser/current is loading parser/ruby21, which recognizes
warning: 2.1.5-compliant syntax, but you are running 2.1.2.
0.26.0

编辑:根据评论,我发现了部分解决方法。可以使用命令行参数调用 RBENV 填充程序来指定 Ruby 版本。 这适用于手动运行命令,但不适用于 Syntastic 插件。我的猜测是它不起作用,因为 Rubocop 关于解析器版本的警告消息。

let g:syntastic_ruby_rubocop_exec = 'RBENV_VERSION=2.1.2 /Users/jjasonclark/.rbenv/shims/rubocop'

编辑:我安装了Ruby 2.1.5并更新了RBENV_VERSION值以成功删除警告消息。这仍然没有启用Rubocop for Syntastic。 :SyntasticCheck rubocop仍然报告syntastic: warning: checker rubocop is not available

Syntastic 加载了错误版本的 Ruby。在命令行中,输入 ruby -v && which ruby

现在,将设置的第二行更改为:

let g:syntastic_ruby_rubocop_exec      = '/Users/jjasonclark/.rbenv/shims/ruby /Users/jjasonclark/yourprojectname/bin/rubocop'

使用which rubywhich rubocop向您展示的任何路径。

相关内容

  • 没有找到相关文章

最新更新