这里是一个完整的Vagrantfile
,它在Ubuntu 14.04.2 LTS上安装Oh My Zsh,并将其设置为标准vagrant
用户的默认shell。
这适用于Vagrant 1.7.2。(使用不同版本可能会有所不同。)它使用自述文件中手动安装部分的说明,而不是尝试使用自动脚本。
VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.box = "ubuntu/trusty64"
config.vm.provision :shell, inline: "apt-get -y install git"
config.vm.provision :shell, inline: "apt-get -y install zsh"
config.vm.provision :shell, privileged: false,
inline: "git clone git://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh"
config.vm.provision :shell, privileged: false,
inline: "cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc"
config.vm.provision :shell, inline: "chsh -s /bin/zsh vagrant"
end
作为额外的福利,您可以使用以下命令将主机机器上的.zshrc
文件复制到vagrant box中:
config.vm.provision "file", source: "~/.zshrc", destination: ".zshrc"
请记住,由于主机和vagrant虚拟机设置之间的差异,您可能需要解决一些最初无法工作的问题。
sudo apt-get install -y zsh
自动安装(我需要在Debian上安装zsh) - ch. vonrohrsed -i 's/ZSH_THEME=[^ ]*/ZSH_THEME="3den"/g' ~/.zshrc
。 - BntMrxzsh
和oh-my-zsh
安装在root
中,而不是用户vagrant
中。所以我必须将它们安装为用户vagrant
但在root
下。su -l vagrant -s "/bin/sh" -c "curl -fsSO https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh; chmod 755 install.sh; ./install.sh --unattended"; chsh -s /bin/zsh vagrant
这是我的引导程序的一部分。它可以正常工作。 - Dzulfikar Adib