# package.json의 overrides 설정

`overrides` 는 npm(v8.3.0+)에서 의존성 트리의 특정 패키지 버전을 강제로 변경하는 필드이다.

**주요 역할**

- 보안 취약점 해결 : 간접 의존성에 보안 문제가 있을 경우, 해당 패키지만을 안전한 버전으로 강제로 변경할 수 있다.

- 버전 충돌 해결 : 여러 패키지가 서로 다른 버전을 요구할 때 특정 버전으로 통일할 수 있다.

- 호환성 문제 해결 : 특정 버전의 패키지가 필요한 경우, 전체 트리에서 해당 버전을 사용할 수 있다.

```
{
  "overrides": {
    "foo": "1.0.0", // 모든 foo 패키지를 1.0.0으로 변경
    "bar": {
      "baz": "2.0.0" // bar 패키지 내부의 baz만 2.0.0으로 변경
    }
  }
}
```

- 그 외에 `yarn` 에서는 `resolutions` , `pnpm` 에서는 `[pnpm.overrides](https://pnpm.overrides)` 를 사용한다.

For the site tree, see the [root Markdown](https://slashpage.com/timmy.md).
