我想使用 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'
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
值以成功删除警告消息。这仍然不会为 Syntastic 启用 Rubocop。 :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 ruby
和 which rubocop
显示的任何路径。关于ruby - 如何使用 Syntastic Vim 插件和 Rbenv 启用 Rubocop?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27095623/