这是我的VagrantFile的精简版。最后,我试图添加一个:
config.vm.provision :shell, inline: "\"\ncd /vagrant\" >> ~/.bashrc"
但是我一直遇到一个问题,因为/vagrant
是一个挂载目录,当我运行vagrant up
时,它说“/ vagrant不存在”。 如何将默认目录设置为我的网站的安装目录?
VagrantFile
Vagrant.configure(2) do |config|
config.vm.box = mydev-box"
config.vm.network "private_network", ip: "172.17.8.153"
config.vm.hostname = "myhost.dev"
# bootstrap
config.vm.provision :shell, inline: "apt-get update && apt-get install -y curl software-properties-common"
config.vm.synced_folder "./", "/var/www", owner: "www-data", group: "www-data"
# Update required settings.
config.vm.provision :shell, inline: "echo \"127.0.0.1 myhost.dev\" >> /etc/hosts"
config.vm.synced_folder ".", "/vagrant/",mount_options: ["dmode=777","fmode=777"]
end
答案 0 :(得分:1)
首先,问题之一是该命令(即使工作)将为root用户完成。
您可以传递privileged: false
以确保它以流浪用户身份运行。您还可以指定完整文件夹,以确保更新正确的文件/home/vagrant/.bashrc
其次,使用"
时,vagrant似乎会进行字符串插值,但使用'
'
为了使其有效,我做了以下
config.vm.provision :shell, inline: "echo 'cd /vagrant' >> /home/vagrant/.bashrc"