[Visual Studio Code] [MacOS] .nvmrc에서 지정한 버전으로 자동 전환하여 프로젝트 시작

여러 Node.js 프로젝트에 참여하는 경우 사용해야 할 Node 버전이 프로젝트마다 다를 수 있으며 매번 수동으로 전환하는 것은 매우 번거롭기 때문에 자동화합니다.

동작 확인 환경


  • MacOS
  • Visual Studio Code

  • 로 동작을 확인하고 있습니다. Mac 그리고 VSCode 로 개발을 하고 있어, 빌드등도 VSCode 상의 터미널에서 행하고 있는 분은 참고가 된다고 생각합니다.

    로드맵


  • nvm 설치
  • Visual Studio Code의 터미널을 zsh로 설정
  • .zshrc 만들기 또는 편집
  • 자동 버전 전환을 수행하려는 프로젝트에서 .nvmrc 만들기

  • 1.nvm 설치



    일본어 참고 기사가 많이 있으므로 그쪽을 참조하십시오.
    nvm use <バージョン>
    명령으로 일부 node 버전을 전환할 수 있게 되면 OK입니다.

    2. Visual Studio Code의 터미널을 zsh로 설정



    먼저 현재 VSCode 터미널 쉘이 무엇인지 확인합니다.


    파란색 프레임 부분이 zsh가 아닌 경우 설정에서 변경합니다. Mac 자체가 2019년에 기본 처리를 bash에서 zsh로 전환했기 때문에 기본적으로 VSCode도 그에 따라 문제가 없어야 합니다. 이미 bash로 여러가지 설정하고 있다고 하는 분은 zsh 로 전환하는 것의 영향을 고려할 필요가 있습니다.

    ⌘ + , 에서 설정 패널을 열고Terminal › Integrated › Automation Shell: Osx항목에서 Edit in settings.js를 클릭합니다.


    "terminal.integrated.shell.osx": "/bin/zsh"terminal.integrated.shell.osx 의 값을 상기와 같이 합니다. 기본적으로 여기의 값으로 문제 없다고 생각합니다만, 환경에 따라서, zsh가 인스톨 되어 있지 않은, 장소가 다르다등 있을지도 모르므로 확인해 주세요.

    편집하면 다시 VSCode 상의 터미널을 확인하고, zsh 가 되어 있으면 OK입니다.

    .zshrc 만들기 또는 편집



    기본 이것으로 좋을 것.
    $ vim .zshrc
    
    source ~/.nvm/nvm.sh
    # place this after nvm initialization!
    autoload -U add-zsh-hook
    load-nvmrc() {
      if [[ -f .nvmrc && -r .nvmrc ]]; then
        nvm use
      elif [[ $(nvm version) != $(nvm version default)  ]]; then
        echo "Reverting to nvm default version"
        nvm use default
      fi
    }
    add-zsh-hook chpwd load-nvmrc
    load-nvmrc
    

    이미 .zshrc 파일이 있는 경우 기존 설정에 영향을 주지 않도록 주의해야 합니다. 또, 1행째의 nvm 의 패스도 환경에 따라서는 다를지도 모릅니다.

    4. 자동 버전 전환을 수행하려는 프로젝트에서 .nvmrc 만들기



    여기까지 오면 그냥 버전 번호가 쓰여진 .nvmrc 파일이 프로젝트 디렉토리 바로 아래에 존재하면 프로젝트를 열 때 nvm에 의한 버전 전환을 해줍니다. 버전 번호 지정이 아니라 lts/* 와 같이 안정 버전의 최신이라고 하는 기법도 할 수 있습니다. (하지만 해당 버전을 nvm으로 설치되어 있지 않으면 움직이지 않는다고 생각합니다. 나는 항상 버전 번호로 지정하고 있기 때문에 미확인입니다.)

    .nvmrc 는 커맨드 라인으로 바꾸어 작성해 버립니다.
    $ echo "8.13.0" > .nvmrc #番号指定
    $ echo "lts/*" > .nvmrc #最新バージョン
    

    이상으로 설정 완료입니다. VSCode에서 해당 프로젝트를 열고 VSCode의 터미널을 시작하면 .nvmrc로 지정된 버전으로 전환했다는 메시지를 터미널에서 확인할 수 있어야합니다.

    또, 복수로 프로젝트를 진행할 때에 node 의 버젼을 바싯과 통일할 때도 이 형태가 스마트라고 생각합니다.

    참고 링크



    htps : // 이 m / ysd _ r / ms / e 58df8dfd509b25f9c9
    h tps://눈 m. 소 m/FB로 vc아고 s/우p 낭비 g-비스 아 l-s 츠아오코 데이에서 파우lt-r 맛있는 l-셰-l-f-m-장 sh-to zsh-711C40d6f8DC
    htps : // 메이 m. 코 m / @ 킨 즈 f / 오토 마치 c ゔ ぇ r shion ぃ t ch fu r rn v m f 9 00 Ae 67f3

    좋은 웹페이지 즐겨찾기