웹사이트 검색

NVM - Linux에서 여러 Node.js 버전 설치 및 관리


노드 버전 관리자(줄여서 NVM)는 Linux 시스템에서 여러 활성 node.js 버전을 관리하기 위한 간단한 bash 스크립트입니다. 이를 통해 여러 node.js 버전을 설치하고 설치 가능한 모든 버전과 시스템에 설치된 모든 버전을 볼 수 있습니다.

Nvm은 특정 node.js 버전의 실행도 지원하며 설치된 위치에 대한 실행 파일 경로 등을 표시할 수 있습니다.

이 문서에서는 Linux 배포판에서 여러 활성 node.js 버전을 관리하기 위해 NVM(노드 버전 관리자)을 설치하는 방법을 설명합니다.

Linux에 NVM(노드 버전 관리자) 설치

Linux 배포판에 nvm을 설치하거나 업데이트하려면 표시된 대로 컬 또는 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'으로 출력이 표시됩니다.

NVM을 사용하여 여러 Node.js 버전 설치

이제 Linux에서 노드 버전 관리자를 사용하는 방법을 배울 차례입니다. 노드의 최신 릴리스를 다운로드, 컴파일 및 설치하려면 다음 명령을 실행하세요.

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)

특정 '노드' 버전을 설치하려면 먼저 사용 가능한 노드 버전을 나열한 다음 표시된 대로 버전을 설치하세요.

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)

nvm을 사용하여 Node.js 버전을 설치하면 이제 시스템이 Node.jsnpm을 가리켜야 합니다. Strong> 버전이 nvm 아래에 있습니다. 다음과 같이 which 명령을 실행하여 사용 중인 nodenpm 바이너리/명령의 위치를 확인할 수 있습니다.

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)

프로젝트의 노드 버전 선택

여기서 nvm이 흥미로워집니다. 이제 nvm을 사용하여 요구 사항에 따라 작업 중인 각 프로젝트에 사용할 node.js 버전을 선택할 수 있습니다. 아래에 설명된 대로 이를 수행하는 방법을 살펴보겠습니다.

여러 터미널을 열고 project 디렉터리로 이동합니다. 이 가이드에는 ~/projects/app-server~/projects/test-ui 아래에 노드 버전 19.0.0 및 20.0.0이 필요한 두 개의 프로젝트가 있습니다. .

------------ 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

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)로 이동하세요.

그게 다야! 노드 버전 관리자는 Linux 시스템에서 여러 활성 node.js 버전을 관리하기 위한 간단한 bash 스크립트입니다. 아래 피드백 양식을 사용하여 질문을 하거나 의견을 공유해 주세요.