我在尝试让命令行django命令在vagrant up期间运行时遇到了问题。我已经确保了路径是正确的,并且它是从Vagrant dev框中的正确位置执行的。但是,我仍然收到如下所示的相同错误。

下面是我的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。
发布于 2015-09-25 04:36:32
这可能是一个特权问题,如果您像这样运行外壳程序(或任何配置程序块),它将以sudo身份运行,但您可能只想以普通(流浪)用户身份运行,因此您可以添加privileged: "false"
b.vm.provision :shell, :inline => "source ~/.bashrc && cd / && /devbox/barista/manage.py syncdb --noinput --settings=test_app.settings.dev", privileged: "false"另外,对于这一点,您不需要显式地提到sudo,因为它将自动为您完成
b.vm.provision :shell, :inline => "sudo cf-agent -KI"因此,您的Vagrantfile将如下所示
b.vm.provision :shell, :inline => "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", :privileged => "false"https://stackoverflow.com/questions/31794738
复制相似问题