我正在使用Vagrant框“thdengops / ubuntu-14.04-dev”,其中包括:git,openjdk7,docker,gvm(go),nvm(node),rvm(ruby),jenv(java),virtualenv (python)所有预先安装在盒子上。
我创建了一个配置shell脚本,尝试使用rvm安装Ruby 2.5.1,然后将其设置为正在使用的当前ruby版本。但是,配置脚本失败了3
。我知道它安装好像我rvm: command not found
没有配置,然后我可以手动完成所有操作。我很确定这是一些允许的事情,我做错了但是我对Vagrant很新,而且目前还不是bash / linux的专家。
我有什么想法导致这些错误吗?我已经粘贴在下面的完整vagrantfile和配置脚本中,你应该能够通过最新的vagrant来重现错误。
Vagrantfile:
vagrant up
provision.sh
Vagrant.configure(2) do |config|
config.vm.box = "thdengops/ubuntu-14.04-dev"
config.vm.provision "shell", path: "provision.sh"
end
来自终端的错误
#!/bin/bash
RUBY_VERSION="2.3.1"
apt-get -y update
if ! rvm list rubies ruby | grep ruby-${RUBY_VERSION}; then
rvm install ${RUBY_VERSION}
fi
rvm --default use ${RUBY_VERSION}
gem install bundler
答案 0 :(得分:1)
很可能已经为流浪者用户安装了软件包,所以当你进入框中时,流浪者用户将能够运行该命令。但是默认情况下,配置由root运行,因此您需要vagrant来运行此配置
1 collection)
bei System.Linq.Enumerable.ToList[TSource](IEnumerable
在这种情况下,您需要确保使用config.vm.provision "shell", privileged: false, path: "provision.sh"
运行某些命令,例如sudo
命令