2

以下は vagrant ファイルの内容です。コマンドを実行するとvagrant up、必要に応じて cabal がインストールされますが、ルート ディレクトリにあります。したがって、使用できなくなります。を使用して、cabal のバージョンを最新バージョンに更新したいと考えていcabal updateます。しかし、それは起こっていません。

最後に、私の VM には古いバージョンの cabal が付属していますが、haskell-platformこれは役に立ちません。ただし、VMに明示的にログインし、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ファイルの内容:

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
4

1 に答える 1

1

個人的には vagrant を ansible で設定する方が運が良かったのですが、この方法でやりたい場合は、次のことを試してみましたか?

sudo -u vagrant cabal install cabal-install
于 2015-11-11T19:54:36.000 に答える