본문으로 건너뛰기
버전: Next

설치하기

독립형 스크립트 사용하기

POSIX 시스템에서는 Node.js가 설치되어 있지 않아도 아래 스크립트를 사용하여 pnpm을 설치할 수 있습니다.

curl -fsSL https://get.pnpm.io/install.sh | sh -

curl이 설치되어 있지 않은 경우에는 wget을 사용할 수 있습니다.

wget -qO- https://get.pnpm.io/install.sh | sh -

윈도우 (PowerShell)

iwr https://get.pnpm.io/install.ps1 -useb | iex

그 다음 pnpm env 명령을 사용해 Node.js를 설치할 수 있습니다.

Corepack 사용하기

v16.13부터 Node.js는 패키지 매니저를 관리하기 위해 Corepack 을 제공합니다. 이것은 실험적인 기능이므로 아래 명령어를 실행하여 활성화해야 합니다.

corepack enable

이렇게 하면 시스템에 pnpm이 자동으로 설치됩니다. 그러나 아마도 최신 버전의 pnpm이 아닐 것입니다. 업그레이드하려면 최신 pnpm 버전 이 무엇인지 확인하고 다음을 실행하십시오.

corepack prepare pnpm@<version> --activate

npm 사용하기

npm install -g pnpm

Homebrew 사용하기

패키지 매니저가 설치되어 있는 경우 아래 명령을 사용하여 pnpm을 설치할 수 있습니다.

brew install pnpm

Scoop 사용하기

Scoop이 설치되어 있으면 아래 명령어를 사용하여 pnpm을 설치할 수 있습니다.

scoop install nodejs-lts pnpm
tip

pnpm을 CI 서버에서 사용하고 싶나요? Continuous Integration을 참고하세요.

호환성

각각의 Node.js 버전에 대해 호환되는 pnpm 버전 목록입니다.

Node.jspnpm 4pnpm 5pnpm 6pnpm 7
Node.js 10✔️✔️
Node.js 12✔️✔️✔️
Node.js 14✔️✔️✔️✔️
Node.js 16?️?️✔️✔️
Node.js 18?️?️✔️✔️

문제 해결

pnpm이 고장났고 재설치로 해결되지 않는다면, 아마 PATH에서 직접 제거하셔야 할 겁니다.

pnpm install을 쳤더니 이런 에러가 떴다고 합시다:

C:\src>pnpm install
internal/modules/cjs/loader.js:883
throw err;
^



Error: Cannot find module 'C:\Users\Bence\AppData\Roaming\npm\pnpm-global\4\node_modules\pnpm\bin\pnpm.js'
←[90m at Function.Module._resolveFilename (internal/modules/cjs/loader.js:880:15)←[39m
←[90m at Function.Module._load (internal/modules/cjs/loader.js:725:27)←[39m
←[90m at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12)←[39m
←[90m at internal/main/run_main_module.js:17:47←[39m {
code: ←[32m'MODULE_NOT_FOUND'←[39m,
requireStack: []
}

먼저, which pnpm을 실행해서 pnpm의 위치를 찾으세요. Windows라면, Git Bash로 명령어를 실행하세요. 그럼 pnpm이 어디에 있는지 찾을 수 있을 겁니다. 예:

$ which pnpm
/c/Program Files/nodejs/pnpm

이제 pnpm CLI가 어딨는지 알았으니, 해당 폴더를 열고 pnpm과 관련된 모든 파일을 지우세요 (pnpm.cmd, pnpx.cmd, pnpm, 등등). 완료된 후, pnpm을 다시 설치하면 제대로 작동할 것입니다.

pnpm 삭제

시스템에서 pnpm CLI를 제거하고 디스크에 기록한 모든 파일을 제거해야 하는 경우 pnpm 제거를 참조하십시오.