Предустановка пакетов в Vagrant

Имею следующий Vagrantfile

$install = <<~INSTALL
  echo Installing Poetry
  curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py | python3
  source $HOME/.poetry/env
  poetry --version
INSTALL
Vagrant.configure("2") do |config|
  config.vm.box = "bento/ubuntu-20.04"
  config.vm.provision "shell", inline: $install
  config.vm.network "private_network", ip: "192.168.33.10"
  config.vm.provider "virtualbox" do |vb|
    vb.memory = "1024"
  end
end

выполняю команду vagrant provision - все проходит удачно, приложение скачивается, устанавливается, выводит версию. Но когда стартую Vagrant VM и подключаюсь по ssh (vagrant ssh) - poetry не работает, даже каталога нет. Если повторить все действия уже на самой VM все проходит хорошо. Такое впечатление, что делается это в разных окружениях... Подскажите, пжл, что не так делаю?


Ответы (1 шт):

Автор решения: Karomag

Нашел куда ставится /root/.poetry. Получается все ставится под пользователем root. Переписал скрип так

$install = <<~INSTALL
  sudo -u vagrant curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py -o /home/vagrant/get-poetry.py
  sudo -u vagrant python3 /home/vagrant/get-poetry.py
INSTALL

Насколько мне позволяют знания Linux, думаю можно и более правильно.

→ Ссылка