我有以下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
答案 0 :(得分:0)
分配给VM的内存相对于HOST的可用内存。在这种情况下,MBP具有4gb并且VM默认为大约300mb。这还不足以成功安装requirements.txt。修复方法是增加Vagrant文件中所需的最小内存,例如:
config.vm.provider:virtualbox do | vb |
vb.memory = 2048 vb.cpus = 2
端
这样做的目的是确保尽可能详细地设置Vagrant文件,以便在系统间准确复制。