Как автоматически установить недостающие пакеты пряжи? - PullRequest
2 голосов
/ 08 января 2020

Я часто сталкиваюсь со следующей ошибкой при запуске сервера в проекте Rails:

========================================
  Your Yarn packages are out of date!
  Please run `yarn install --check-files` to update.
========================================

Учитывая, что система знает, что делать, есть ли способ настроить Yarn и Rails для автоматического выполнить это действие при необходимости (ie: при запуске rails server и отсутствуют ли пакеты Yarn)?

1 Ответ

2 голосов
/ 08 января 2020

В вашем файле package.json просто добавьте в скрипт дополнительную команду, скажем, «start», которая запускает ваш сервер в цепочку команды yarn install --check-files (переустановите все пакеты, которые были изменены) и команду start, используя &&, как this:

"scripts": {
  "start": "yarn install --check-files && someStartCommand someFile.xyz",
  "someOtherScript": "someOtherCommand someOtherFile.xyz",
}

В качестве альтернативы, вы можете использовать команду yarn upgrade, если вы хотите обновить свои пакеты до их последней версии на основе диапазона версий, указанного в файле package.json, добавив дополнительная команда к сценарию, скажем, «start», которая запускает ваш сервер, соединяющий в цепочку команду yarn upgrade и команду start, используя &&, например:

"scripts": {
  "start": "yarn upgrade && someStartCommand someFile.xyz",
  "someOtherScript": "someOtherCommand someOtherFile.xyz",
}

Вы также можете добавить флаг --latest в Ваша команда yarn upgrade, если вы хотите игнорировать диапазон версий, указанный в package.json, и вместо этого установить версию, указанную в последнем теге (возможно обновление пакетов до основных версий).

...