9

我不确定我是否应该为此使用 Puppet。我通过 provision.sh 更新和安装。

我的流浪文件

Vagrant.configure("2") do |config|
  config.vm.box = "ubuntu32"
  config.vm.provision :shell, path: './provision.sh'  
  config.vm.network "public_network"
end

提供.sh

apt-get update
apt-get -y install build-essential git-core python-software-properties nodejs
apt-get -y install vim
apt-get -y install curl
curl https://raw.github.com/fesplugas/rbenv-installer/master/bin/rbenv-installer | bash

现在我需要将以下内容添加到顶部的 ~/.bashrc 中。或者我可以准备一个文件 .bashrc 并将其替换为 ~/.bashrc

export RBENV_ROOT="${HOME}/.rbenv"

if [ -d "${RBENV_ROOT}" ]; then
  export PATH="${RBENV_ROOT}/bin:${PATH}"
  eval "$(rbenv init -)"
fi

然后运行 ​​source .bashrc

然后运行以下命令。

rbenv install 2.0.0-p247
rbenv rehash
gem install bundler
bundle
sudo apt-get install libpq-dev 
gem install pg -v '0.15.0'
4

1 回答 1

8

您可以在您的 provision.sh 脚本中执行此操作。Vagrant 会自动与来宾 VM 共享 Vagrantfile 所在的目录作为/vagrant文件夹。

根据需要创建 .bashrc 文件,并将其放在与 Vagrantfile 相同的目录中。我会省略'。并调用它,bashrc这样你就不会忘记它。

然后你可以添加到你的 provision.sh 脚本:

cp /vagrant/bashrc ~/.bashrc
source ~/.bashrc

注意:bash 配置以 root 用户身份运行,如果您想以非 root 用户身份使用它,则必须稍微修改一下。

cp /vagrant/bashrc /home/<username>/.bashrc
su - <username> -c "<command to run as user>"
于 2013-11-15T15:49:14.730 回答