2015-11-11 2 views
1

Ниже приведено содержимое бродячего файла. Когда я запускаю команду vagrant up, она устанавливает по требованию, но она находится в корневом каталоге. Следовательно, он становится непригодным. Я хочу обновить версию cabal до последней версии, используя cabal update. Но этого не происходит.Каббал устанавливается в корневом каталоге вместо/home/vagrant directory с использованием Vagrantfile

Наконец, в моей виртуальной машине у меня есть старая версия cabal, которая поставляется с haskell-platform, которая бесполезна для меня. Однако, когда я выполняю эти команды отдельно, явно регистрируясь в VM и не помещая ничего в Vagrantfile, он работает, и я получаю версию cabal 1.22.6.0, которая мне нужна, но используя Vagrantfile. Как я могу убедиться, что cabal не устанавливается в корневом каталоге? Вместо этого я думаю, что он должен получить установлен в/главная/каталог бродячего как это: /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 
+0

Почему вы не установить 'GHC-7.10.2' и' Кабал-1.22' из [ ' HVR/ghc'] (https://launchpad.net/~hvr/+archive/ubuntu/ghc)? Если вы действительно не хотите GHC 7.6, я бы не использовал 'haskell-platform' на Trusty. – Zeta

+0

@Zeta: Он работает, когда я делаю то же самое вручную вручную на виртуальной машине. Просто он устанавливается в корневой каталог, когда я делаю то же самое с Vagrantfile. Если я смогу решить эту проблему, я в порядке. – Zack

+0

Вы пытались добавить шаг su-vagrant pre cabal? –

ответ

1

Я лично больше повезло настраиваемого бродягу с анзибль, но если вы хотите сделать это таким образом, вы пробовали:

sudo -u vagrant cabal install cabal-install 
+0

Я еще не пробовал. Я пытался сделать su бродяжничество, но это не сработало. Я попробую то, что вы сказали сейчас. – Zack

 Смежные вопросы

  • Нет связанных вопросов^_^