2014-11-23 12 views
3

Synthetic에서 Rubocop 검사기를 사용하고 싶습니다. 검사기가 있고 실행 파일의 경로가 지정되었습니다. :SyntasticInfo은 활성 검사기가 아니라고보고합니다. 또한 :SyntasticCheck rubocop은 rubocop이 사용 가능한 검사기가 아니라고보고합니다.Synthetic 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 shim은 Ruby 버전을 지정하는 명령 줄 매개 변수와 함께 호출 할 수 있습니다. 이것은 명령을 수동으로 실행하는 데 작동하지만 Syntastic 플러그인에서는 작동하지 않습니다. 내 생각 엔 파서 버전에 대한 Rubocop의 경고 메시지 때문에 작동하지 않는다.

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

편집 : 루비 2.1.5를 설치하고 성공적으로 경고 메시지를 제거 할 RBENV_VERSION 값을 업데이트했습니다. 이것은 여전히 ​​Rubocop for Syntastic을 사용할 수 없습니다. :SyntasticCheck rubocop 아직보고 됨 syntastic: warning: checker rubocop is not available

답변

0

Synth가 잘못된 버전의 Ruby를로드 중입니다. 명령 행에서 ruby -v && which ruby을 입력하십시오. which rubywhich rubocop 당신을 보여 어떤 경로를 사용

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

:

지금에 설정의 두 번째 줄을 변경합니다.

+0

이것은 솔루션처럼 들리지만 아직은 아직 없습니다. ruby shim에 rubocop 경로를 전달하면 작동하지 않습니다. 루비 스크립트로 실행하려고 시도합니다. – Jason

+0

수정 사항으로 업데이트되었습니다. – dankohn

+0

프로젝트의 전체 경로를 설정하면 작동합니다. 단일 프로젝트로 작업 할 수있을만큼 충분히 포괄적으로 만들 수있는 방법에 대해 생각해 볼 수 있습니까? – Jason