我在尝试在vagrant up
期间运行命令行django命令时遇到问题。我确保路径是正确的,并且它是从Vagrant开发盒上的正确位置执行的。但是,我一直收到如下所示的相同错误。
下面是我的Vagrantfile(至少是相关部分)。
Vagrant.configure("2") do |config|
config.vm.define :devbox do |b|
b.vm.box = "precise64"
b.vm.box_url = "http://files.vagrantup.com/precise64.box"
...
b.vm.provision :shell, :inline => "sudo cf-agent -KI"
b.vm.provision :shell, :inline => "echo 'Running the syncdb now'"
b.vm.provision :shell, :inline => "source ~/.bashrc && cd / && /devbox/barista/manage.py syncdb --noinput --settings=test_app.settings.dev"
end
end
我是否遗漏了在Vagrant盒子上使用Django运行命令行命令的问题?我只是试图运行manage.py syncdb
命令。我想知道是否存在我不知道的路径或bash问题。
我目前正在运行Django 1.4.2。
答案 0 :(得分:0)
它可能是一个特权问题,如果您运行这样的shell规定(或任何配置程序块),它将以sudo身份运行,但您可能只想以普通(流浪)用户身份运行,因此您可以添加{{1 }}
privileged: "false"
对于这个,你不需要明确提到sudo,因为它会自动为你完成
b.vm.provision :shell, :inline => "source ~/.bashrc && cd / && /devbox/barista/manage.py syncdb --noinput --settings=test_app.settings.dev", privileged: "false"
因此你的Vagrantfile就像是
b.vm.provision :shell, :inline => "sudo cf-agent -KI"