linux

RHEL8 node.js 22 및 Gemini CLI

jhinux 2026. 1. 8. 15:11

RHEL 8 / CentOS 8 환경: Node.js v22 및 Gemini CLI 수동 설치

Red Hat Enterprise Linux 8(RHEL 8) 환경에서 Subscription Manager 등록 문제나 저장소 오류로 인해 dnf 패키지 관리자를 사용할 수 없는 경우, 실행 파일(Binary)을 직접 다운로드하여 설치하는 방법이 가장 확실합니다.

이 가이드는 공식 패키지 관리자를 우회하여 Node.js 공식 배포판을 직접 시스템 경로에 설치하는 방법을 다룹니다.

1. 사전 확인

  • OS: RHEL 8, CentOS 8, Rocky Linux 8 등 (x64 아키텍처)
  • 설치 버전: Node.js v22 (LTS)
  • 방식: nodejs.org의 공식 바이너리를 /usr/local에 덮어쓰기

2. 통합 설치 스크립트

이 스크립트는 기존에 꼬여있는 Node.js 버전을 깨끗이 삭제하고, 공식 사이트에서 최신 바이너리를 받아 설치합니다.

#!/bin/bash

# 에러 발생 시 스크립트 중단 방지
set +e

echo "========================================"
echo " RHEL 8 Node.js v22 수동 설치 시작"
echo "========================================"

# 1. 기존 설치된 Node.js 제거 (충돌 방지)
echo ">>> [1/4] 기존 버전 클린업 진행..."

# dnf/rpm으로 설치된 패키지 삭제 시도
if command -v dnf &> /dev/null; then
    sudo dnf remove -y nodejs npm &> /dev/null
    echo " - dnf 패키지 제거 시도 완료"
fi

# 수동으로 설치된 잔여 파일 강제 삭제
sudo rm -rf /usr/local/bin/node
sudo rm -rf /usr/local/bin/npm
sudo rm -rf /usr/local/bin/npx
sudo rm -rf /usr/local/lib/node_modules
sudo rm -rf /usr/local/include/node
sudo rm -rf /opt/nodejs
echo " - 잔여 파일 삭제 완료"

# 2. Node.js v22 바이너리 다운로드
# 공식 배포 서버 사용 (구독 인증 불필요)
NODE_VER="v22.12.0"
DISTRO="linux-x64"
DOWNLOAD_URL="[https://nodejs.org/dist/$](https://nodejs.org/dist/$){NODE_VER}/node-${NODE_VER}-${DISTRO}.tar.xz"

echo ">>> [2/4] Node.js ${NODE_VER} 다운로드 중..."
cd /tmp
curl -O $DOWNLOAD_URL

if [ ! -f "node-${NODE_VER}-${DISTRO}.tar.xz" ]; then
    echo "!!! 다운로드 실패. 네트워크 연결을 확인하세요."
    exit 1
fi

# 3. 압축 해제 및 시스템 경로 설치
echo ">>> [3/4] 시스템 경로(/usr/local)에 설치 중..."
# --strip-components=1 옵션으로 폴더 구조를 벗겨내고 bin, include, lib에 바로 병합
sudo tar -xJvf node-${NODE_VER}-${DISTRO}.tar.xz -C /usr/local --strip-components=1 > /dev/null

# 4. Gemini CLI 설치
echo ">>> [4/4] Gemini CLI 설치 (npm install)..."
sudo npm install -g @google/gemini-cli

echo "========================================"
echo " 설치 완료 리포트"
echo "========================================"
echo "Node  버전: $(node -v)"
echo "NPM   버전: $(npm -v)"
echo "Gemini CLI: $(gemini --version)"
echo "========================================"

3. 설치 검증

설치가 완료되면 터미널에서 버전을 확인합니다.

node -v
# 출력 예: v22.12.0

만약 command not found 오류가 발생한다면, 셸의 해시 맵을 갱신하거나 재로그인해야 합니다.

hash -r
# 또는 로그아웃 후 다시 로그인

4. 참고 사항 (Glibc 호환성)

RHEL 8은 기본적으로 glibc 2.28을 사용합니다.

  • Node.js v18: RHEL 8에서 가장 안정적으로 작동합니다.
  • Node.js v22: glibc 2.28 이상을 요구하므로 RHEL 8에서 실행 가능합니다.