web-dev-qa-db-ja.com

Yarnのグローバルパッケージを更新するにはどうすればよいですか?

CLIコマンドをいくつか試してみましたが、yarn global addでインストールされたパッケージを実際に更新するものはありません。

yarn global upgradeyarn upgrade global両方とも正しく機能しません。グローバルパッケージをアップグレードする方法はありますか?

57
thibmaek

TL; DR:

webjay says のように、あなたは単純に:

yarn global upgrade

yarnバージョン1.2.1以降。

以前のバージョンの場合:

(cd ~/.config/yarn/global && yarn upgrade)

確認と修復

残念ながら、現在yarn global checkはありません。

yarn global add --forceを実行して、すべてのパッケージを再インストールできます。

checkグローバルパッケージでは、~/.config/yarn/global/をローカルパッケージのように扱うことができます。

  • ~/.config/yarn/global/package.jsonにはすべてのグローバルパッケージの依存関係があります
  • ~/.config/yarn/global/node_modulesには、すべてのグローバルパッケージが含まれています。

すべてのグローバルパッケージをチェックし、エラーが見つかった場合にのみ再インストールします:

$ (cd ~/.config/yarn/global && yarn check || yarn install --force)
50
Tom Hale

yarn global add <package>@latestを使用すると、特定のパッケージをアップグレードしようとします。

更新

最近追加されたyarn global upgradeは、すべてのパッケージをアップグレードします。これは、元の回答の時点では存在しませんでした。

26
cchamberlain

https://github.com/yarnpkg/yarn/issues/776 で既にこの問題が作成されています

6
morrislaptop

yarn global upgradeを使用しています

3
webjay

yarnpkg/yarn#5001yarn global upgrade fooごとにalwaysパッケージを最新バージョンにアップグレードしないことに注意してください。 --latestフラグがあっても。

たとえば、foo v12.0.1がインストールされていて、v13.0.0が利用可能な場合、yarn global upgradeは現在デフォルトでsemverの主要なバンプを超えていないため、これはv13.0.0にアップグレードしません(説明を参照)上記の問題で詳細をご覧ください)。

yarn global add foodoesを実行すると、現在インストールされているバージョンと最新の間にsemverメジャーバージョンバンプがある場合でも、現在インストールされているバージョンを最新にアップグレードします。版。

yarn global upgrade-interactiveにより、過去のメジャーバージョンバンプもアップグレードできると思います。

1
Taylor Edmiston