Node Version Manager (NVM으로 줄여서)는 Linux 시스템에서 여러 활성 node.js 버전을 관리하기 위한 간단한 bash 스크립트입니다. 여러 node.js 버전을 설치하고 설치할 수 있는 모든 버전과 시스템에 설치된 모든 버전을 볼 수 있습니다.
Nvm은 특정 node.js 버전을 실행하는 것을 지원하며, 설치된 실행 파일의 경로를 표시하고 더 많은 기능을 제공합니다.
이 기사에서는 Linux 배포판에서 Node Version Manager (NVM)를 설치하여 여러 활성 node.js 버전을 관리하는 방법에 대해 설명하겠습니다.
목차
리눅스에 NVM (Node Version Manager) 설치
리눅스 배포판에 nvm을 설치하거나 업데이트하려면 표시된대로 curl 또는 wget 명령줄 도구를 사용하여 자동 설치 스크립트를 다운로드할 수 있습니다.
# curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash OR # wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash
위의 자동 설치 스크립트는 홈 디렉토리에 ~/.nvm
으로 nvm 저장소를 복제하고 필요한 소스 명령을 쉘 시작 스크립트에 추가합니다. 즉, ~/.bash_profile, ~/.zshrc, ~/.profile, 또는 ~/.bashrc와 같습니다. 사용 중인 쉘 프로그램에 따라 다음 출력에 표시됩니다.
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 15916 100 15916 0 0 34227 0 --:--:-- --:--:-- --:--:-- 34301 => Downloading nvm from git to '/root/.nvm' => Cloning into '/root/.nvm'... remote: Enumerating objects: 359, done. remote: Counting objects: 100% (359/359), done. remote: Compressing objects: 100% (305/305), done. remote: Total 359 (delta 40), reused 168 (delta 28), pack-reused 0 Receiving objects: 100% (359/359), 219.46 KiB | 6.86 MiB/s, done. Resolving deltas: 100% (40/40), done. * (HEAD detached at FETCH_HEAD) master => Compressing and cleaning up git repository => Appending nvm source string to /root/.bashrc => Appending bash_completion source string to /root/.bashrc => You currently have modules installed globally with `npm`. These will no => longer be linked to the active version of Node when you install a new node => with `nvm`; and they may (depending on how you construct your `$PATH`) => override the binaries of modules installed with `nvm`: ...
설치가 완료되면 현재 터미널 창을 닫고 새로 엽니다. 또는 쉘 프로필 파일을 소스화하여 nvm를 로드합니다. 예를 들어, bash를 사용하는 경우 다음 명령을 실행합니다:
$ source ~/.bashrc OR $ source ~/.profile
다음으로, 다음 명령을 사용하여 시스템에 nvm이 설치되었는지 확인합니다.
# command -v nvm nvm
설치가 성공적이었다면 ‘nvm’으로 출력됩니다.
이제 리눅스에서 Node Version Manager를 사용하는 방법을 배우는 시간입니다. 최신 릴리스의 node를 다운로드하고 컴파일하고 설치하려면 다음 명령을 실행하세요:
# nvm install node
위의 명령에서 “node”는 최신 버전의 별칭입니다.
Downloading and installing node v20.0.0... Downloading https://nodejs.org/dist/v20.0.0/node-v20.0.0-linux-x64.tar.xz... ########################################################################## 100.0% Computing checksum with sha256sum Checksums matched! Now using node v20.0.0 (npm v9.6.4) Creating default alias: default -> node (-> v20.0.0)
특정 “node” 버전을 설치하려면 먼저 사용 가능한 노드 버전을 나열한 다음 표시된 대로 버전을 설치하십시오.
# nvm ls-remote # nvm install 19.0.0
Downloading and installing node v19.0.0... Downloading https://nodejs.org/dist/v19.0.0/node-v19.0.0-linux-x64.tar.xz... ########################################################################## 100.0% Computing checksum with sha256sum Checksums matched! Now using node v19.0.0 (npm v8.19.2)
Node.js 버전을 nvm을 사용하여 한 번 설치하면, 시스템은 이제 Node.js와 npm 버전을 nvm 아래로 지정해야 합니다. 사용 중인 node와 npm 바이너리/명령의 위치를 확인하려면 다음과 같이 which 명령을 실행할 수 있습니다:
# which node /root/.nvm/versions/node/v20.0.0/bin/node # which npm /root/.nvm/versions/node/v20.0.0/bin/npm # node -v v20.0.0 # npm -v 9.6.4
설치된 Node.js 버전 나열
모든 설치된 버전을 다음 명령어로 확인할 수 있습니다:
# nvm ls
-> v19.0.0 v20.0.0 system default -> node (-> v20.0.0) iojs -> N/A (default) unstable -> N/A (default) node -> stable (-> v20.0.0) (default) stable -> 20.0 (-> v20.0.0) (default) lts/* -> lts/hydrogen (-> N/A) lts/argon -> v4.9.1 (-> N/A) lts/boron -> v6.17.1 (-> N/A) lts/carbon -> v8.17.0 (-> N/A) lts/dubnium -> v10.24.1 (-> N/A) lts/erbium -> v12.22.12 (-> N/A) lts/fermium -> v14.21.3 (-> N/A) lts/gallium -> v16.20.0 (-> N/A) lts/hydrogen -> v18.16.0 (-> N/A)
프로젝트용 Node 버전 선택
이곳에서 nvm이 흥미로워집니다. 이제 요구 사항에 따라 작업 중인 각 프로젝트에 대해 사용할 node.js 버전을 선택할 수 있습니다. 아래 설명된 대로 이를 수행하는 방법을 살펴보겠습니다.
여러 터미널을 열고 프로젝트 디렉토리로 이동합니다. 이 가이드에서는 19.0.0 및 20.0.0 버전의 노드를 필요로 하는 ~/projects/app-server
및 ~/projects/test-ui
프로젝트가 있다고 가정합니다.
------------ Project 1 ------------ $ cd ~/projects/api-server $ nvm use 19.0.0 $ node -v ------------ Project 2 ------------ $ cd ~/projects/test-ui $ nvm use 20.0.0 $ node -v
예를 들어, 버전 19.0.0이 활성화된 상태에서 전역 패키지가 설치되어 있으면, 버전 20.0.0으로 전환할 때 새 버전 아래에서 전역 패키지를 다시 설치해야 합니다.
중요한 점은 특정 노드 버전이 설치된 실행 가능한 경로를 다음과 같이 볼 수 있다는 것입니다:
# nvm which 20.0.0 # nvm which 19.0.0 # nvm which system #check system-installed version of a node using “system” alias
Linux에서 기본 Node.js 버전 설정하기
또한, 새로운 셸에서 사용할 기본 노드 버전을 수동으로 설정하려면 다음과 같이 별칭 “default”을 사용하십시오.
# nvm alias default 20.0.0 # nvm alias default system # nvm alias default 19.0.0
.nvmrc
initialization file in your project root directory (or any parent directory) and add a node version number or any other flags or usage options that nvm understands, in it. Then use some of the commands we have just looked at above to operate with the specified version in the file.Linux에서 Node.js 버전 제거하기
특정 버전의 Node.js를 제거하려면 다음 명령을 실행하십시오 (버전 번호를 19.0.0으로 대체하지 않도록 주의하십시오):
# nvm uninstall 19.0.0
Linux에서 NVM 제거하기
시스템에서 nvm을 수동으로 제거하려면 다음 명령을 실행하십시오:
# rm -rf "$NVM_DIR" OR # rm -rf ~/.nvm
그런 다음 ~/.bashrc (또는 위에 나열된 적용 가능한 셸 프로필 구성 파일)을 편집하고 다음 구성 라인을 제거하십시오:
export NVM_DIR="$HOME/.nvm" [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm [[ -r $NVM_DIR/bash_completion ]] && \. $NVM_DIR/bash_completion
자세한 정보는 nvm --help
를 참조하거나 Node Version Manager Github 저장소로 이동하십시오: https://github.com/nvm-sh/nvm.
이상입니다! Node Version Manager는 Linux 시스템에서 여러 활성 node.js 버전을 관리하는 간단한 bash 스크립트입니다. 질문을 하거나 의견을 공유하려면 아래 피드백 양식을 사용하십시오.
Source:
https://www.tecmint.com/nvm-install-multiple-nodejs-versions-in-linux/