[Mac] VScode에서 ruby-rubocop이 더 이상 작동하지 않으면 executePath를 설정해 봅시다.

3441 단어 RuboCop루비VSCode
세상에서는 Advent Calendar가 매우 고조되고 있는 오늘 요즘입니다만 오늘도 보통의 작은 재료 기사를 보내 드리겠습니다\(^o^)/

개요



Windows에서 Rails 등을 개발했을 때 VScode에 ruby-rubocop을 설치하여 실시간으로 rubocop 오류가 발생하도록했습니다.
  • ruby-rubocop - Visual Studio Marketplace

  • 얼마 전에 Mac으로 작업 환경을 마이그레이션했을 때 비슷한 확장 프로그램을 설치했지만 Mac에서 rubocop을 실시간으로 확인하지 못했습니다. 그것을 해소했을 때의 기록을 사례로서 소개합니다.

    대상 환경


  • MacBook Air (13-inch, Early 2015)
  • macOS 10.13.6 High Sierra
  • Visual Studio Code(버전 1.27.2)

  • 사건



    htps : // 기주 b. 코 m / 미소기 / vs 코데루 바이 루보코 p # 루보코 p 푸 r ゔ ぃ 스아 ls 츠 ぢ 오코
    Windows에서 개발했을 무렵은 위와 같이 rubocop의 경고 내용이 실시간으로 표시되어 있었습니다만, Mac에서는 밑줄도 경고도 아무것도 나오지 않은 것을 깨달았습니다. (rubocop의 경고가 아무것도 나오지 않았다고 생각했습니다)

    또한 VScode의 알림란을 살펴보면 아래 두 가지 오류가 발생했음을 알았습니다.
  • rubocop is not excutable
  • execute path is empty! please check ruby.rubocop.executePath

  • 해결 절차



    그렇다고 해서 전술의 에러의 해소를 하면 고쳐지는 것이 아닌가? 라고 생각한 대로입니다.
    상기의 메세지에 따라, ruby.rubocop.executePath 를 추가했으므로 그 때의 흐름을 아래에 기재합니다.

    1. rubocop 실행 경로 확인



    명령으로 확인하는 것이 간단하고 확실하네요.
    $ which rubocop
    /Users/{MyUserName}/.rbenv/shims/rubocop
    

    2. VScode 설정 파일에 추가



    기본 설정 > 설정 > 사용자 설정 > 확장 > ruby-rubocop 에 전항에서 삼킨 것을 아래와 같이 붙여넣습니다. rubocop 명령을 실행하는 폴더까지 알면 되므로 마지막 rubocop까지는 쓸 필요가 없습니다.


    결과



    실시간으로 rubocop 경고가 나타납니다.


    추정 요인



    //If not specified searches for 'rubocop' executable available on PATH (default and recommended)
    "ruby.rubocop.executePath": "",

    위는 공식 문서의 인용문입니다.
    추측의 영역은 나오지 않습니다만, 위와 같이 본래는 이 항목의 설정은 하지 않아도 rubocop 의 실행 패스는 환경 변수로부터 잘 얻어 주는 것 같습니다. 다만, 우리 쪽의 환경에서는 rbenv 경유로 ruby ​​를 사용하고 있기 때문에 그 편이 잘 되지 않기 때문에 일어나는 사건인 것 같습니다.
    Windows에서는 루비 설치 프로그램에서 직접 설치했기 때문에이 문제는 일어나지 않았다고 생각하면 辻虄은 맞을 것 같습니다.

    이 실시간 경고가 있다면 작업 효율이 전혀 다르다고 생각합니다. 만약 비슷한 예가 일어났을 때에는 참고해 주시면 감사하겠습니다. 하지만 최종적으로는 커맨드로 rubocop 하면 끝나기 때문에 서둘러는 커맨드로 대응합시다

    참고


  • misogi/vscode-ruby-rubocop: Rubocop extension for Visual Studio Code
  • ruby - rubocop on VScode not working.Error "rubocop is not executable" - Stack Overflow
  • 좋은 웹페이지 즐겨찾기