下面是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安裝步驟? –