下面是流浪文件的内容。当我运行vagrant up
命令时,它会根据需要安装cabal,但它在根目录中。因此,它变得无法使用。我想使用cabal update
将cabal版本更新为最新版本。但这并没有发生。
最后,在我的虚拟机中,我有旧版本的cabal,它附带了haskell-platform
,对我来说没有用。然而,当我通过显式登录到虚拟机而不在Vagrantfile中放入任何东西来单独执行这些命令时,它就起作用了,我得到了我需要的cabal版本1.22.6.0,但通过使用Vagrantfle。如何确保cabal不会安装在根目录中?相反,我认为它应该像这样安装在/home/roarant目录中:/home/ravarant/.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
我个人在用ansible配置流浪者方面运气更好,但如果你想这样做,你尝试过吗:
sudo -u vagrant cabal install cabal-install