使用しているパッケージの依存パッケージのバージョンを指定するのに、npmを使用している場合は npm-force-resolutionsを使うと固定できますが、 yarn berry (yarn v2, v3) を使用する場合はyarn単体で指定することができます。
ユースケースとしては、依存パッケージに脆弱性があったときに元のパッケージの対応を待たなくともひとまず依存パッケージのバージョンを上げる(下げる)ことができるといった具合です。(もちろん元のパッケージが即座に対応してくれればそれでよいですが。)
環境
- npm: 8.1.2
- yarn: 3.2.0
- node: v16.13.2
指定方法
$ yarn set resolution <descriptor> <resolution>
のコマンドを実行します。
たとえば、 minimist のバージョンを ^1.2.0 から ^1.2.6 に上げるときは以下のようになります。
$ yarn set resolution minimist@npm:^1.2.0 ^1.2.6
実行すると yarn.lock でそのパッケージのバージョンが更新されていたり、 .yarn/cache のパッケージのZIPファイルが更新されてたりします。
注意
強制的にバージョン指定したため元のパッケージが意図しない動作になることがあります。
参考
-
yarn set resolution: https://yarnpkg.com/cli/set/resolution
Top comments (0)