Как я могу обновить глобальные пакеты в Пряжа?
Я попробовал некоторые команды CLI, но ни один из них не обновил пакеты, установленные с помощью yarn global add
.
yarn global upgrade
и yarn upgrade global
оба работают неправильно. Есть ли способ обновления глобальных пакетов?
Ответы
Ответ 1
TL; DR:
Как webjay говорит, вы просто:
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)
Ответ 2
Использование yarn global add <package>@latest
обновит конкретный пакет, если это то, что вы пытаетесь сделать.
Обновление
Недавно добавленный yarn global upgrade
обновляет все пакеты. Это не существовало во время первоначального ответа.
Ответ 3
Для этого уже существует проблема, созданная для https://github.com/yarnpkg/yarn/issues/776
Ответ 4
Я использую yarn global upgrade
Ответ 5
Обратите внимание, что для yarnpkg/yarn # 5001 yarn global upgrade foo
yarn yarn global upgrade foo
не всегда --latest
пакет до последней версии, даже с флагом --latest
.
Например, если у вас установлена foo
v12.0.1 и доступна v13.0.0, это не приведет к обновлению до v13.0.0, потому что yarn global upgrade
настоящее время не проходит через серьезные проблемы по умолчанию (подробнее см. Обсуждение в разделе выше),
Выполнение команды yarn global add foo
обновляет текущую установленную версию до последней, даже если между текущей установленной версией и последней версией существует небольшое изменение основной версии.
Я полагаю, что yarn global upgrade-interactive
позволила бы обновлять и основные выпуски основных версий.