raco: Как установить пакет или обновить его, если он уже существует? - PullRequest
0 голосов
/ 14 мая 2018

raco pkg install <package-name> устанавливает пакет, если он еще не существует, и завершается ошибкой, если пакет уже существует.raco pkg update <package-name> обновляет пакет и завершается ошибкой, если пакет еще не существует.

Существует ли команда raco, которая объединяет обе команды?Другими словами, есть ли команда, которая может установить пакет, если он не существует, а также обновить пакет, если он уже существует?

Обоснование: Этот вид команды будет полезен в сценариях оболочки.Например, в Debian / Ubuntu команда apt-get install ведет себя точно так же, как и для python, pip install --upgrade тоже.Есть ли эквивалент для raco?

Версия ракетки: 6.11

1 Ответ

0 голосов
/ 01 июля 2018

Вы можете использовать raco pkg show <package>, чтобы определить, установлен ли пакет, например, с чем-то вроде:

mypkg='memoize'
if [ " [none]" = "$(raco pkg show '$mypkg' | tail -1)" ]; then
  raco pkg install "$mypkg"
else
  raco pkg update "$mypkg"
fi
...