pnpm install
별칭: i
pnpm install
은 프로젝트 내 모든 의존성 패키지들을 설치하는데에 사용됩니다.
CI 환경에서, lockfile이 있지만 업데이트가 필요한 경우 설치가 실패합니다.
워크스페이스내에서, pnpm install
은 모든 프로젝트의 모든 의존성을 설치합니다. 이 동작을 비활성화하려면, recursive-install
설정을 false
로 설정하세요.
요약
명령어 | 의미 |
---|---|
pnpm i --offline | 스토어에서만 오프라인으로 설치 |
pnpm i --frozen-lockfile | pnpm-lock.yaml 이 업데이트되지 않음 |
pnpm i --lockfile-only | pnpm-lock.yaml 만 업데이트됨 |
옵션
--force
Force reinstall dependencies: refetch packages modified in store, recreate a lockfile and/or modules directory created by a non-compatible version of pnpm. Install all optionalDependencies even they don't satisfy the current environment(cpu, os, arch).
--offline
- 기본값: false
- 유형: Boolean
If true
, pnpm will use only packages already available in the store. If a package won't be found locally, the installation will fail.
--prefer-offline
- 기본값: false
- 유형: Boolean
true
이면 캐시된 데이터에 대한 부실 검사가 무시되지만, 누락된 데이터는 서버에서 요청됩니다. 전체 오프라인 모드를 강제 실행하려면, --offline
을 사용하세요.
--prod, -P
- 기본값:
- If
NODE_ENV
isproduction
:true
- If
NODE_ENV
is notproduction
:false
- If
- Type: Boolean
If set, pnpm will ignore NODE_ENV
and instead use this boolean value for determining the environment.
If true
, pnpm will not install any package listed in devDependencies
and will remove those insofar they were already installed. If false
, pnpm will install all packages listed in devDependencies
and dependencies
.
--dev, -D
Only devDependencies
are installed and dependencies
are removed insofar they were already installed, regardless of the NODE_ENV
.
--no-optional
optionalDependencies
가 설치되지 않습니다.
--lockfile-only
- 기본값: false
- 유형: Boolean
사용하면 pnpm-lock.yaml
및 package.json
만 업데이트합니다. node_modules
디렉토리에는 아무것도 기록되지 않습니다.
--fix-lockfile
깨진 lockfile 항목을 자동으로 수정합니다.
--frozen-lockfile
- 기본값:
- 비 CI의 경우: false
- CI의 경우: true, lockfile이 있는 경우
- 유형: Boolean
true
인 경우, pnpm은 lockfile을 생성하지 않고 lockfile 이 매니페스트와 동기화되지 않았거나 업데이트가 필요하거나 lockfile이 없는 경우 설치에 실패합니다.
이 설정은 CI 환경에서 기본적으로 true
입니다. 다음 코드는 CI 환경을 감지하는 데 사용됩니다.
exports.isCI = !!(
env.CI || // Travis CI, CircleCI, Cirrus CI, GitLab CI, Appveyor, CodeShip, dsari
env.CONTINUOUS_INTEGRATION || // Travis CI, Cirrus CI
env.BUILD_NUMBER || // Jenkins, TeamCity
env.RUN_ID || // TaskCluster, dsari
exports.name ||
false
)
--merge-git-branch-lockfiles
Merge all git branch lockfiles. Read more about git branch lockfiles.
--reporter=<name>
- 기본값:
- TTY stdout의 경우: default
- 비 TTY stdout의 경우: append-only
- 유형: default, append-only, ndjson, silent
Allows you to choose the reporter that will log debug info to the terminal about the installation progress.
- silent - 치명적인 오류라할지라도 출력이 콘솔에 기록되지 않습니다.
- default - stdout이 TTY일 때의 기본 리포터입니다.
- append-only - 출력은 항상 끝에 추가됩니다. 커서 조작이 수행되지 않습니다.
- ndjson - 가장 장황한 리포터. 모든 로그를 ndjson 형식으로 인쇄합니다.
If you want to change what type of information is printed, use the loglevel setting.
--use-store-server
- 기본값: false
- 유형: Boolean
Starts a store server in the background. The store server will keep running after installation is done. To stop the store server, run pnpm server stop
--shamefully-hoist
- 기본값: false
- 유형: Boolean
Creates a flat node_modules
structure, similar to that of npm
or yarn
. WARNING: This is highly discouraged.
--ignore-scripts
- 기본값: false
- 유형: Boolean
Do not execute any scripts defined in the project package.json
and its dependencies.
--filter <package_selector>
Filter currently does not work properly with v8 default config, you have to implicitly set dedupe-peer-dependents to false
to have that work. For more info and progress please refer to #6300
--resolution-only
Re-runs resolution: useful for printing out peer dependency issues.