Предустановка пакетов в 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, думаю можно и более правильно.