본문으로 건너뛰기
로그인 둘러보기
개발·코딩·데이터베이스 · 윈도우즈 유틸

nub

0

Nub은 Rust로 작성된 Node.js용 올인원 툴킷으로, TypeScript 파일을 실행하고 패키지 매니저 스크립트를 실행하며 Node.js 버전을 관리하는 기능을 제공합니다.

개발 도구스크립트 러너올인원 툴킷패키지 매니저

소개

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을 통해 설치 스크립트를 실행할 수 있습니다.