Vagrant shell配置程序在Mac主机上失败,但适用于Windows主机

时间:2014-04-29 15:20:27

标签: windows macos shell vagrant

我有以下vagrant文​​件,其shell配置程序在Windows 7 VirtualBox上运行良好但在我的macbook pro OSX 10.9.2上运行时失败

更具体地说,供应商"似乎"无法安装requirements.txt。如果我在框中SSH并以root身份重新运行bootstrap.sh就可以了。我理解长错误消息会有所帮助,但我认为这个问题是为了理解为什么虚拟盒设置可以在一个环境而不是另一个环境中工作。特别是,在启动这样一个简单的shell脚本时。

非常感谢任何想法或建议!

Vagrant档案

# -*- mode: ruby -*-
# vi: set ft=ruby :

# Vagrantfile API/syntax version. Don't touch unless you know what you're doing!
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|

  config.vm.hostname = "test-box"

  config.vm.box = "hashicorp/precise64"

  config.vm.provision :shell, :path => "bootstrap.sh"
end

bootstrap.sh

#!/usr/bin/env bash

apt-get update
apt-get install -y build-essential curl git libffi-dev python-dev python-pip \
libxml2-dev libxslt1-dev python-software-properties g++ make

pip install --upgrade distribute
pip install -r /vagrant/requirements.txt

requirements.txt

Scrapy>=0.18.2
Twisted>=13.1.0
lxml>=3.2.3
queuelib>=1.0
w3lib>=1.3

1 个答案:

答案 0 :(得分:0)

分配给VM的内存相对于HOST的可用内存。在这种情况下,MBP具有4gb并且VM默认为大约300mb。这还不足以成功安装requirements.txt。修复方法是增加Vagrant文​​件中所需的最小内存,例如:

  

config.vm.provider:virtualbox do | vb |

vb.memory = 2048
vb.cpus = 2
     

这样做的目的是确保尽可能详细地设置Vagrant文​​件,以便在系统间准确复制。

相关问题