Settings (.npmrc)
pnpm은 커맨드라인, 환경변수, 그리고 .npmrc
파일을 통해 config를 구성할 수 있습니다.
pnpm config
커맨드를 사용하여 사용자 및 전역.npmrc
파일을 수정할 수 있습니다.
4개의 관련된 파일은 다음과 같습니다.
- 프로젝트별 구성 파일 (
/path/to/my/project/.npmrc
) - 작업 공간별 구성 파일 (
pnpm-workspace.yaml
파일이 포함된 디렉토리) - 사용자별 구성 파일 (
~/.npmrc
) - 전역 구성 파일 (
/etc/npmrc
)
모든 .npmrc
파일은 key = value
의 목록을 갖는 INI-formatted 형식의 파일입니다
.npmrc
파일에는 ${NAME}
구문을 사용하는 환경 변수가 사용될 수 있습니다. 환경 변수의 기본값을 지정할 수도 있습니다. ${NAME-fallback}
을 사용하면, NAME
이 설정되지 않은 경우 fallback
이 반환됩니다. ${NAME:-fallback}
을 사용하면, NAME
이 설정되지 않았거나 빈 값일 경우 fallback
이 반환됩니다.
의존성 호이스팅 설정
hoist
- 기본값: true
- 유형: boolean
true
로 설정하면 모든 의존성은 node_modules/.pnpm/node_modules
로 호이스팅 됩니다. 이는 목록에 없는 의존성이 node_modules
내부의 모든 패키지에 접근할 수 있도록 합니다.
hoist-workspace-packages
- 기본값: true
- 유형: boolean
true
일 때, 작업 영역의 패키지는 다른 호이스팅 설정(hoist-pattern
및 public-hoist-pattern
)에 따라 <workspace_root>/node_modules/.pnpm/node_modules
또는 <workspace_root>/node_modules
에 심볼릭 링크됩니다.
hoist-pattern
- 기본값: ['*']
- 유형: String
어떤 패키지를 node_modules/.pnpm/node_modules
로 호이스팅 해야 하는지 pnpm에 알립니다. 기본적으로 모든 패키지는 호이스팅됩니다, 하지만 유령 의존성을 갖는 잘못된 패키지를 알고 있다면 이 옵션을 이용해 유령 의존성을 호이스팅할 수 있습니다. (권장)
예를 들어:
hoist-pattern[]=*eslint*
hoist-pattern[]=*babel*
!
을 사용하여 패턴을 호이스팅에서 제외할 수도 있습니다.
예를 들어:
hoist-pattern[]=*types*
hoist-pattern[]=!@types/react