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

标签 ruby vim syntastic 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'

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 shim 以指定 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/

相关文章:

sql - 使用 TinyTds Ruby Gem 解析和运行 .sql 脚本

c# - 使用Vim作为C#编辑器,面临一些问题

vim - 是否可以在 Vim 中可视化右边距?

vim - 如何在插入模式下禁用箭头键?

html - 使用 Nokogiri CSS 方法获取 alt 标签内的所有元素

ruby - 列出两个日期之间的天数数组

ruby - Sinatra 应用程序找不到 View 目录

haskell - GHC-mod 在错误的目录中查找设置文件

python - 如何在 Syntastic for Vim 中将 Python 允许的最大行长度设置为 120?

VIM + 合成 : how to disable the checker?