首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Vagrantfile将Cabal安装在根目录中,而不是/home/vagrant目录中

使用Vagrantfile将Cabal安装在根目录中,而不是/home/vagrant目录中
EN

Stack Overflow用户
提问于 2015-11-11 15:28:07
回答 1查看 262关注 0票数 2

下面的THe是流浪者文件的内容。当我运行vagrant up命令时,它会根据需要安装cabal,但它位于根目录中。因此,它变得不可用。我想使用cabal update将cabal版本更新到最新版本。但这并没有发生。

最后,在我的虚拟机中,我有旧版本的cabal,它与haskell-platform一起提供,这对我没有用处。但是,当我通过显式登录到VM来单独执行这些命令,并且没有在Vagrantfile中放入任何内容时,它可以工作,我得到了我需要的cabal版本1.22.6.0,但通过使用Vagrantfile。如何确保cabal不会安装在根目录中?相反,我认为应该将其安装在/home/vagrant目录中,如下所示: /home/vagrant/.cabal/bin

代码语言:javascript
复制
==> 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...

流浪文件的内容如下:

代码语言:javascript
复制
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
EN

回答 1

Stack Overflow用户

发布于 2015-11-12 03:54:36

我个人比较幸运地用ansible配置了vagrant,但是如果你想这样做,你有没有尝试过:

代码语言:javascript
复制
sudo -u vagrant cabal install cabal-install
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33645957

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档