使用しているパッケージの依存パッケージのバージョンを指定するのに、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)