소개
Nub은 Rust로 작성된 Node.js용 올인원 툴킷으로, TypeScript 파일을 실행하고 패키지 매니저 스크립트를 실행하며 Node.js 버전을 관리하는 기능을 제공합니다. 기존 Node.js 바이너리를 사용하면서도 Bun과 Deno의 장점을 결합하여 더 빠른 시작 속도와 향상된 개발자 경험을 제공합니다. 공식 웹사이트는 https://nubjs.com이며, GitHub 저장소는 https://github.com/nubjs/nub입니다.
상세정보
파일 실행기 — nub <file>
TypeScript, JSX, .tsx 등 다양한 파일을 직접 실행할 수 있으며, tsconfig.json의 paths, .env 파일 자동 로딩, 데코레이터, using 구문 등 현대적인 문법을 지원합니다. node 명령어와 플래그 호환성을 유지하면서도 2.9배 더 빠른 시작 속도를 제공합니다.
스크립트 실행기 — nub run
npm run과 pnpm run을 대체하는 드롭인 대체품으로, Rust 바이너리로 구축되어 JavaScript 기반 도구보다 약 24배 빠르게 스크립트를 디스패치합니다. –filter, -r, –workspace-concurrency 등 pnpm의 고급 기능을 완전히 지원하며, 라이프사이클 훅과 npm_* 환경 변수를 그대로 전달합니다.
패키지 실행기 — nubx / nub dlx
npx와 pnpm dlx를 대체하는 드롭인 대체품으로, node_modules/.bin에서 로컬 바이너리를 직접 찾아 실행하여 Node 프로세스 래핑 오버헤드를 제거합니다. 레지스트리 폴백을 지원하며, pnpm exec의 모든 플래그와 셸 모드를 완벽히 호환합니다.
패키지 매니저 — nub install
Aube 엔진 기반의 패키지 매니저로, pnpm과 플래그 호환성을 유지하면서도 약 5배 더 빠른 설치를 제공합니다. 기존의 package-lock.json, pnpm-lock.yaml, bun.lock을 읽고 동일한 형식으로 다시 쓰며, postinstall 스크립트 차단 및 OSV 기반 악성 패키지 검사를 기본으로 활성화합니다.
패키지 메타 매니저 — nub pm
Corepack의 기능을 네이티브 Rust로 재구현하여, npm, pnpm, yarn의 전역 셈을 등록합니다. 이 셈을 사용하면 프로젝트에 핀된 정확한 버전의 패키지 매니저를 자동으로 설치하고 실행하여, 버전 관리의 번거로움을 줄입니다.
Node 버전 매니저 — nub node
.node-version, .nvmrc, package.json#engines 등을 읽어 필요한 Node.js 버전을 자동으로 다운로드하고 캐시합니다. nub node install 26과 같은 명령으로 특정 버전을 수동으로 관리할 수 있으며, nub node ls로 캐시된 버전 목록을 확인할 수 있습니다.
다운로드·설치 방법
Windows에서는 PowerShell을 관리자 권한으로 실행한 후 다음 명령을 입력하여 설치할 수 있습니다:
irm https://nubjs.com/install.ps1 | iex
이 스크립트는 공식 웹사이트에서 제공하는 설치 프로그램을 다운로드하고 시스템에 Nub을 등록합니다. 설치 후 명령 프롬프트나 PowerShell에서 nub –version을 입력하여 버전을 확인할 수 있습니다.
기본 사용법/명령어
TypeScript 파일을 실행하려면 다음과 같이 입력합니다:
nub index.ts
파일 변경 시 자동 재시작을 위한 워치 모드는 다음과 같이 사용합니다:
nub watch src/server.ts
패키지 매니저 스크립트를 실행하려면 다음 명령을 사용합니다:
nub run build
로컬에 설치된 CLI 도구를 직접 실행하려면 다음을 사용합니다:
nubx eslint . –fix
새로운 Node.js 버전을 설치하고 사용하려면 다음과 같이 입력합니다:
nub node install 26
그리고 프로젝트의 .node-version 파일에 원하는 버전을 기록하면, nub이 자동으로 해당 버전을 설치하고 사용합니다:
echo 26 > .node-version
nub hello.ts
이런 경우에 유용합니다
프론트엔드 또는 백엔드 개발자가 TypeScript 프로젝트를 작업할 때, 별도의 트랜스파일 단계 없이 바로 tsx 파일을 실행하고 싶을 때 유용합니다. 특히 tsconfig.json의 경로 별칭이나 .env 파일 자동 로딩이 필요한 프로젝트에서 설정 없이 바로 작동하여 개발 속도를 높일 수 있습니다.
모노레포에서 pnpm 작업 공간을 사용하는 팀이라면, nub run -r –filter “@org/*” test 와 같이 복잡한 필터링 조건을 그대로 사용하면서도 스크립트 실행 속도를 30배 이상 향상시킬 수 있습니다. 이는 CI 파이프라인에서 특히 효과적입니다.
새로운 프로젝트를 시작하거나 CI 환경에서 Node.js 버전을 명시적으로 관리해야 할 때, nub node install 20 과 같이 특정 버전을 설치하고, nub run 으로 스크립트를 실행하면 버전 불일치 문제를 사전에 방지할 수 있습니다. 이는 특히 팀원 간 개발 환경 차이를 줄이는 데 도움이 됩니다.
지원 환경·시스템 요구사항
Windows 10 이상, macOS 12 이상, Linux 배포판에서 사용할 수 있습니다. Windows에서는 PowerShell 5.1 이상이 필요하며, 설치는 관리자 권한이 아닌 일반 사용자 계정에서도 가능합니다. 인터넷 연결이 필요하며, Node.js 바이너리를 다운로드하기 위해 nodejs.org에 접근할 수 있어야 합니다.
최신 버전·업데이트
현재 최신 버전은 0.9.0이며, 2026년 9월 14일에 마지막으로 업데이트되었습니다. 이 버전에서 Node 버전 관리 기능이 강화되었으며, nub node 명령어 그룹이 추가되어 캐시 관리 및 버전 핀이 가능해졌습니다. 업데이트는 nub upgrade 명령을 통해 수행할 수 있습니다.
제한 사항·확인 사항
Nub은 자체적인 런타임이 아니므로, Node.js 네이티브 애드온 중 일부는 여전히 stock Node에서만 작동할 수 있습니다. 예를 들어, 특정 버전의 Node.js에서만 제공되는 실험적 API는 Nub이 언플래그 처리하지만, 실제 구현이 없는 경우에는 polyfill 또는 다운레벨링이 적용됩니다. 또한, Windows에서는 안티바이러스 소프트웨어가 설치 파일을 오진할 수 있으므로, 설치를 차단하는 경우 nubjs.com을 신뢰 사이트로 추가해야 할 수 있습니다.
시스템 요구사항
Node.js 18 LTS 이상이 필요하며, Windows에서는 PowerShell을 통해 설치 스크립트를 실행할 수 있습니다.


