我想用Syntastic啓用Rubocop檢查器。我已經設置它有一個檢查器,並給出可執行文件的路徑。雖然:SyntasticInfo
報告說它不是活動檢查器。另外:SyntasticCheck rubocop
報告rubocop不是可用的檢查器。如何使用Syntastic Vim插件和Rbenv啓用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
值成功刪除了警告信息。這仍然不能啓用Rubocop for Syntastic。 :SyntasticCheck rubocop
仍然報告syntastic: warning: checker rubocop is not available
這聽起來像是解決方案,但我們還沒有完成。將rubocop路徑傳遞給紅寶石墊片不起作用。它試圖將其作爲ruby腳本運行。 – Jason 2014-11-25 18:24:36
更正並更正。 – dankohn 2014-11-25 23:03:47
如果我爲我的項目設置完整路徑,它確實有效。你能想出一種方法來使這種通用性不僅適用於單個項目嗎? – Jason 2014-11-25 23:34:38