Как мне установить конкретную c версию формулы бочки для домашнего пива с ansible? Например, vagrant 2.2.6, тогда как последний доступный - 2.2.7.
$ brew cask install https://raw.githubusercontent.com/Homebrew/homebrew-cask/<git-hash>/Casks/<cask-ruby-file>.rb
/ TL; DR
В отличие от homebrew, бочки не имеют версий с @ #. #. #. Вместо этого вы должны найти точное значение git commit ha sh для установки, в дополнение к имени файла самой бочки для запуска и передать URL.
homebrew
Например, чтобы установить ChefDK :
/Casks/chefdk.rb
https://raw.githubusercontent.com/Homebrew/homebrew-cask/<git-hash>/Casks/<cask-ruby-file>.rb
Поэтому нам нужно заполнить пробелы с помощью git hash и cast-ruby-file:
git hash
cast-ruby-file
brew cask install https://raw.githubusercontent.com/Homebrew/homebrew-cask/be76032ad4fd5b03036ebe3628a6294354017906/Casks/chefdk.rb
Это не весело, но это единственный способ ...
Я нашел это решение:
--- - hosts: all tasks: - name: Task 1 - Check vagrant 2.2.6 is installed stat: path=/usr/local/Caskroom/vagrant/2.2.6 register: vagrant_installed - name: Taks 2 - Install vagrant 2.2.6 command: brew cask install https://raw.githubusercontent.com/Homebrew/homebrew-cask/ae2a540ffee555491ccbb2cefa4296c76355ef9f/Casks/vagrant.rb when: not (vagrant_installed.stat.isdir is defined and vagrant_installed.stat.isdir)
Первая задача проверяет, установлен ли vagrant 2.2.6, перейдя в каталог по умолчанию. Необходимо поддерживать playbook idempotent.
Второе задание устанавливает vagrant 2.2.6 с использованием прямого необработанного URL-адреса для версии формулы 2.2.6. Чтобы найти URL, я использовал эту пошаговую документацию.