Cabal устанавливается в корневой каталог вместо /home/vagrant, используя Vagrantfile
Ниже приводится содержание файла vagrant. Когда я бегу vagrant up
Команда устанавливает Cabal по мере необходимости, но находится в корневом каталоге. Следовательно, это становится непригодным для использования. Я хочу обновить версию Cabal до последней версии, используя cabal update
, Но этого не происходит.
Наконец, в моей виртуальной машине у меня есть старая версия Cabal, которая поставляется с haskell-platform
что бесполезно для меня. Тем не менее, когда я выполняю эти команды отдельно, явно войдя в виртуальную машину и не помещая ничего в Vagrantfile, это работает, и я получаю cabal версию 1.22.6.0, которая мне нужна, но с помощью Vagrantfile. Как мне убедиться, что cabal не устанавливается в корневом каталоге? Вместо этого я думаю, что он должен быть установлен в каталог /home/vagrant следующим образом: /home/vagrant/.cabal/bin
==> default: Setting up haskell-platform (2013.2.0.0.debian3) ...
==> default: Processing triggers for libc-bin (2.19-0ubuntu6.6) ...
==> default: ********************************
==> default: Config file path source is default config file.
==> default: Config file /root/.cabal/config not found.
==> default: Writing default configuration to /root/.cabal/config
==> default: Downloading the latest package list from hackage.haskell.org
==> default: ********************************
==> default: Resolving dependencies...
==> default: Downloading binary-0.7.6.1...
==> default: Configuring binary-0.7.6.1...
==> default: Building binary-0.7.6.1...
==> default: Preprocessing library binary-0.7.6.1...
СОДЕРЖАНИЕ ФАЙЛА ВАГРАНТА НИЖЕ:
Vagrant.configure(2) do |config|
config.vm.box = "ubuntu/trusty32"
config.vm.box_check_update = false
config.vm.provider "virtualbox" do |vb|
vb.gui = true
vb.memory = "2048"
end
config.vm.provision "shell", inline: <<-SHELL
cd /home/vagrant
sudo apt-get update
echo "-----------------------------"
echo "-----------------------------"
sudo apt-get -y install zip
sudo apt-get -y install git
sudo apt-get -y install build-essential
sudo apt-get -y install libmakefile-parser-perl
sudo apt-get -y install libreoffice-dev
sudo apt-get -y install haskell-platform
echo " ********************************"
cabal update
echo " ********************************"
cabal install cabal-install
echo "+++++++++++==========++++====="
# echo "PATH=/home/vagrant/.cabal/bin:$PATH" >> /home/vagrant/.bashrc
SHELL
1 ответ
Мне лично больше повезло, настроив vagrant с ansible, но если вы хотите сделать это таким образом, вы пробовали:
sudo -u vagrant cabal install cabal-install