下面是vagrant文件的内容。当我运行vagrant up
命令时,它会根据需要安装cabal,但它位于根目录中。因此,它变得不可用。我想使用cabal update
将cabal版本更新到最新版本。但它没有发生。Cabal使用Vagrantfile代替/ home/vagrant目录安装在根目录下
最后,在我的虚拟机中,我有旧版本的cabal,它带有haskell-platform
这对我没用。但是,当我通过显式登录到虚拟机来单独执行这些命令时,并且不会将任何内容放入Vagrantfile中时,它会起作用,并且我得到cabal version 1.22.6.0,这是我需要的,但是使用Vagrantfile。 如何确保cabal未安装在根目录中?相反,我认为它应该得到安装在像这样的/ home /游民目录:/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
你为什么不安装'从GHC-7.10.2'和'阴谋,1.22' [' HVR/ghc'](https://launchpad.net/~hvr/+archive/ubuntu/ghc)?除非你真的想要GHC 7.6,否则我不会在Trusty上使用'haskell-platform'。 – Zeta
@Zeta:当我在VM中手动执行相同的步骤时,它可以工作。只是当我对Vagrantfile执行相同操作时,它正在根目录中进行安装。如果我能解决这个问题,我很好。 – Zack
您是否尝试添加“su - vagrant”之前的cabal安装步骤? –