【发布时间】:2015-01-15 10:53:45
【问题描述】:
我正在尝试使用以下脚本在 vagrant 文件中使用 rvm 设置 vagrant 用户的 ruby 版本:
config.vm.provision "shell", inline: <<-SHELL
sudo apt-get -y update
sudo apt-get -y install git ruby libgdbm-dev libncurses5-dev automake libtool bison libffi-dev
nodejs
#Install ruby environment
curl -sSL https://rvm.io/mpapis.asc | gpg --import -
curl -L https://get.rvm.io | bash -s stable
sudo "source ~/.rvm/scripts/rvm"
echo "source ~/.rvm/scripts/rvm" >> ~/.bashrc
sudo /usr/local/rvm/bin/rvm install 2.1.5
rvm 2.1.5 --default
sudo chown -R vagrant:vagrant /usr/local/rvm/gems/
gem install middleman
git clone XXXX
SHELL
END
Vagrant 正在向我返回以下消息:
/tmp/vagrant-shell: line 10: rvm: command not found
但是如果我使用完整路径运行命令,它会返回以下消息:
/usr/local/rvm/bin/rvm 2.1.5 --default
RVM is not a function, selecting rubies with 'rvm use ...' will not work.
You need to change your terminal emulator preferences to allow login shell.
Sometimes it is required to use `/bin/bash --login` as the command.
Please visit https://rvm.io/integration/gnome-terminal/ for an example.
到底有没有在日志模式下执行内联脚本或其他方式使用rvm设置默认版本?
谢谢:)
【问题讨论】:
-
了解它为什么不起作用的有用链接。但不是同一个问题,问题是如何使用 ssh 登录到 Vagrantfile 启动 vm。
标签: ruby rvm vagrant provisioning vagrantfile