npm
npm 10+매일 쓰는 npm CLI 명령어 빠른 참조 — init / install / add / remove / update / scripts / run / publish / audit, 그리고 lockfile, 레지스트리, 캐시 관리 — 자주 쓰는 옵션과 실전 예시까지 함께 정리했습니다.
명령어 34개
프로젝트 초기화
npm init`package.json` 생성을 인터랙티브하게 진행하며, 이름 / 버전 / 설명 / 진입점 등을 묻습니다.
-y 모든 기본값 수락; --init.author 'Name <e@x>' 기본값 재정의
npm init -ynpm init -y합리적인 기본값(`name`은 디렉터리 이름, `version` 1.0.0 등)으로 `package.json`을 바로 생성합니다 — 현대적인 시작점입니다.
npm init -y && cat package.json설치
npm install`package.json`의 모든 의존성을 설치하고 `node_modules`와 `package-lock.json`을 갱신합니다. `NODE_ENV=production`이면 dev 의존성을 건너뜁니다.
--save-exact / -E 정확한 버전 고정; --legacy-peer-deps; --force; --no-audit; --prefer-offline
npm installnpm ci`package-lock.json`만으로 엄격하게 클린 설치합니다. `npm install`보다 빠르고 `node_modules`를 먼저 삭제하며, lockfile을 변경하지 않습니다 — CI에 적합합니다.
--omit=dev devDependencies 생략; --prefer-offline
npm ci --omit=dev의존성 추가
npm install <pkg>런타임 의존성을 추가합니다(기본 `dependencies`). `package-lock.json`에 해석된 버전을 기록하고 `package.json`을 갱신합니다.
<pkg>@<version-range>; --save-dev / -D; --save-exact / -E; --save-optional / -O; --save-prod / -P
npm install lodash && npm install eslint@^9 --save-devnpm install <pkg>@<version>특정 버전 범위(semver)를 설치합니다: 정확한 `1.2.3`, 틸드 `~1.2.3`, 캐럿 `^1.2.3`, 또는 `latest` / `next` / `beta` 같은 태그.
npm install [email protected] && npm install next@latestnpm install -D <pkg>`devDependencies`에 추가합니다 — 빌드 / 테스트 시점에만 필요한 도구(TypeScript, Jest, ESLint, Prettier).
npm install -D typescript @types/node vitestnpm install -g <pkg>모든 프로젝트에서 `PATH`의 바이너리를 쓸 수 있도록 패키지를 글로벌로 설치합니다(TypeScript, tsx, create-react-app, http-server).
npm install -g typescript tsx pnpm제거
npm uninstall <pkg>`node_modules`와 `package.json`에서 패키지를 제거합니다.
-D devDependencies에서 제거; -g 글로벌 제거; --save false 매니페스트 편집 생략(드묾)
npm uninstall lodash && npm uninstall -D @types/node업데이트
npm update`package.json`의 semver 범위 안에서 모든 의존성을 업그레이드하고 `package-lock.json`도 갱신합니다.
--save false 매니페스트 작성 생략; --workspace 워크스페이스 내부 업데이트
npm updatenpm update <pkg>현재 semver 범위를 만족하는 최신 버전으로 한 패키지를 업데이트합니다.
npm update eslintnpm install <pkg>@latest한 패키지를 최신 릴리스로 업그레이드합니다(semver 범위를 무시하고 `^<new-version>`으로 다시 씁니다).
npm install typescript@latest && npm install -D vitest@latest스크립트 실행
npm run <script>`package.json`의 `scripts` 섹션에 정의된 스크립트를 실행합니다. `npm test`, `npm start`, `npm stop`, `npm restart`는 `npm run X`의 축약형입니다.
-- npm 로그 노이즈 억제; --if-present 없어도 에러 안냄; -- <args> 나머지 인수를 스크립트로 전달
npm run build -- --mode productionnpm run <script> -- <args>내부 스크립트에 추가 CLI 인수를 전달합니다. `--` 뒤의 모든 내용이 그대로 전달됩니다.
npm run lint -- --fix src/npm exec -- <command>로컬 또는 `npx` 캐시 패키지의 명령을 실행합니다. 더 이상 권장되지 않는 `npx <command>` 직접 호출을 대체합니다.
npm exec -- create-react-app my-app검사
npm ls현재 프로젝트의 의존성 트리(최상위 + 전이)를 출력합니다. 패키지 중복 복사본을 찾을 때 유용합니다.
--all; --depth=N 깊이 제한; --json JSON 출력; -g 글로벌 나열
npm ls --depth=0 && npm ls reactnpm outdated설치된 버전이 매니페스트 범위의 최신 버전보다 오래된 모든 의존성을 표로 보여줍니다.
--long 자세히; --json JSON 출력
npm outdatednpm view <pkg>패키지의 레지스트리 메타데이터를 표시합니다 — 버전, dist-tags, 의존성, 메인테이너, 리포지터리 URL, readme 발췌.
versions; time; dist-tags; repository.url
npm view lodash versions && npm view react dist-tagsLockfile
npm shrinkwraplockfile 없이 배포되어도 재현 가능한 설치가 필요한 앱을 위해 독립적인 `npm-shrinkwrap.json`(`package-lock.json`과 같은 형식)을 생성합니다.
npm shrinkwrap레지스트리
npm config get registry현재 활성 레지스트리 URL을 출력합니다. 기본값은 `https://registry.npmjs.org/`입니다.
npm config get registrynpm config set registry <url>npm을 프라이빗 / 캐시 레지스트리(GitHub Packages, Verdaccio, 중국 미러)로 가리키도록 설정합니다. `~/.npmrc` 또는 프로젝트 `.npmrc`에 기록됩니다.
npm config set registry https://registry.npmmirror.com/npm login설정된 레지스트리에 인증하고 토큰을 `~/.npmrc`에 저장합니다. `npm publish` 전에 필요합니다.
--registry=<url> 다른 레지스트리로 로그인; --scope=<scope> 토큰 범위 제한
npm login --registry=https://registry.npmjs.org/게시
npm publish현재 패키지를 설정된 레지스트리에 업로드합니다. `package.json`에 `name`(그리고 보통 `version`, `repository`)과 게시 권한을 가진 로그인 사용자가 필요합니다.
--access public|restricted(scoped 패키지); --dry-run; --tag <tag> dist-tag으로 게시
npm publish --access public --tag betanpm unpublish <pkg>@<version>특정 버전을 레지스트리에서 제거합니다. 게시 후 72시간 이내에는 **권장하지 않습니다** — npm은 지원은 하지만 비권장합니다.
npm unpublish [email protected]npm deprecate <pkg>@<version> '<msg>'버전을 de deprecated으로 표시하고 npm이 설치 시 출력할 메시지를 함께 둡니다. 이력을 삭제하지 않고 사용자에게 수정 버전을 가리키는 정석 방법입니다.
npm deprecate [email protected] 'use 1.2.4+ — security fix'감사
npm audit설치된 의존성 트리에 대해 보안 감사를 실행하고, npm 레지스트리의 권고 정보를 가져옵니다.
--json; --omit=dev dev 의존성 생략; --audit-level=low|moderate|high|critical
npm audit --omit=devnpm audit fix권고를 해소하는 호환 범위 내 최신 버전으로 패키지를 자동으로 업그레이드합니다. semver 메이저 점프를 허용할 때만 `npm audit fix --force`를 사용하세요.
--force; --dry-run
npm audit fix캐시
npm cache clean --force글로벌 npm 캐시(POSIX는 `~/.npm`)를 비웁니다. 레지스트리를 바꾼 뒤나 이상한 설치 오류를 추적할 때 사용합니다.
npm cache clean --forcenpm cache verify삭제하지 않고 캐시된 tarball의 무결성을 검증합니다. 언제든 안전하게 실행할 수 있습니다.
npm cache verify워크스페이스
npm install -w <workspace>모노레포의 단일 명명 워크스페이스(`package.json`의 `workspaces`에 정의됨)에 패키지를 설치합니다.
npm install lodash -w @myorg/webnpm run <script> -ws모노레포의 모든 워크스페이스에서 스크립트를 실행합니다. `-w <name>`은 한 워크스페이스에서만 실행합니다.
--if-present 없어도 에러 안냄
npm run build -ws && npm test -w @myorg/api기타
npm doctor환경 진단을 실행합니다(Node 버전, 레지스트리 접근성, 캐시 상태, Git 존재 여부) — 문제 해결 시 유용합니다.
npm doctornpm fund현재 프로젝트의 직접 의존성에 대한 후원 링크를 출력합니다(메인테이너가 OSS를 후원받는 용도).
npm fundnpm pkg set <key>=<value>에디터를 열지 않고 CLI에서 `package.json`의 필드를 변경합니다. 스크립트 / hook에서 유용합니다.
npm pkg set scripts.lint='eslint .' && npm pkg get version관련 명령어 치트시트
volta
매일 쓰는 Volta 명령어 빠른 참조 — Node / npm / Yarn / pnpm 툴체인 설치, 프로젝트별 버전 고정, 글로벌 패키지 관리, Volta 자체 문제 해결 — 자주 쓰는 옵션과 실전 예시까지 함께 정리했습니다.
명령어 25개
Volta 1.x
yarn
매일 쓰는 Yarn CLI 명령어 빠른 참조(Yarn Classic 1.x와 Yarn Berry 2/3/4 모두) — install / add / remove / run / workspaces, lockfile, Plug'n'Play, Berry 설정 — 자주 쓰는 옵션과 실전 예시까지 함께 정리했습니다.
명령어 33개
Yarn 1.x (classic) / Yarn 4 (berry)
pnpm
pnpm 빠른 참조: install / add / remove / update, scripts, workspaces, store & cache, config — 이 GitHub 사이트의 pnpm 워크플로에 맞춰 옵션과 실전 예시까지 정리했습니다.
명령어 31개
pnpm 9+
npx
npx 명령어 빠른 참조 — 일회성 패키지 바이너리 실행, 프로젝트 스캐폴딩, npx 캐시 관리, 버전 고정, 인터랙티브 CLI 함정 회피 — 자주 쓰는 옵션과 실전 예시까지 함께 정리했습니다.
명령어 25개
npx 10+ (shipped with npm)
vite
Vite CLI 명령어 빠른 참조 — 개발 서버, 빌드, 미리보기, 의존성 사전 번들링, 플러그인 관리, 환경 변수, 프로젝트 검사 — 자주 쓰는 옵션과 실전 예시까지 함께 정리했습니다.
명령어 30개
Vite 5+
상표 및 사용 안내
본 명령줄 도구 치트시트 모음은 오픈 커뮤니티 참고 자료입니다. 본 문서에서 언급되는 도구의 명칭, 로고, 상표(예: Git™, Docker™, Kubernetes®, kubectl, PostgreSQL®, MySQL®, Redis™, MongoDB®, Linux™, PowerShell™, Vim™ 등)는 각 권리자의 자산이며, 본 문서에서는 식별 및 참고 목적のみで 사용됩니다.
본 치트시트의 모든 내용은 독립적으로 작성된 단순화된 자체 완결형 참고 자료이며, 어떠한 공식 문서와도 계열·인정·출처 관계가 없습니다. 명령 목록, 플래그 설명, 예제는 모두 저자의 원본 단순화이며, 권위 있는 정보가 필요한 경우 각 도구의 공식 문서를 참조하시기 바랍니다.
명령 구문 및 옵션 플래그는 도구 버전에 따라 다를 수 있습니다. 표시되는 버전 태그는 안정 릴리스를 반영하며, 다른 버전에서는 동작이 다를 수 있습니다. 본 치트시트는 상표권자의 어떠한 선호나 권장도 의미하지 않습니다.
상표권자 또는 저작권자가 사이트의 일부 내용에 대해 권리 침해가 있다고 판단하시는 경우 [email protected]으로 이메일을 보내 주십시오. 유효한 권리 증명을 받은 후 합리적인 기간 내에 관련 내용을 수정하거나 삭제하겠습니다.
본 사이트는 사이트 정보의 이용으로 인해 발생하는 어떠한 직접적 또는 간접적 손해에 대해서도 법적 책임을 지지 않습니다.
npm 소개
npm은 Node.js의 기본 패키지 매니저입니다. Isaac Z. Schlueter가 2010년에 독립 도구로 처음 작성했으며, 2011년 Node.js 0.6.3부터 Node에 동봉되어 제공됩니다. 이름은 `Node Package Manager`의 약자였지만, 팀은 2014년부터 공식적으로 약자로 취급하지 않고 있습니다. 현재 안정 버전은 npm 10으로, Node 20+와 함께 배포됩니다. npm은 레지스트리(기본 `registry.npmjs.org`, 2020년부터 GitHub가 호스팅하는 공개 CouchDB)와 통신하며, `package.json`과 `package-lock.json`을 읽고/쓰고, 로컬 설치(프로젝트의 `node_modules`)와 글로벌 설치(PATH에 추가)를 모두 지원합니다. npm 7+부터는 모노레포를 위한 workspaces를 도입했고, npm 9+에는 `npx`가 내장되어 있으며 엄격한 peer dependency 엔진이 포함됩니다. 대부분의 npm 명령은 `-D`(dev), `-E`(exact), `-g`(global), `--save-prod` 그리고 비표준 설치 디렉터리용 `--prefix` 플래그를 받습니다. npm은 코드를 절대 업로드하지 않으며, 로컬 파일과 레지스트리에만 기록합니다. 익명 다운로드 통계는 npm 레지스트리에서 집계하지만 프로젝트 내용은 전송되지 않습니다.
치트시트 버전 1.0.0