我使用Chef
设置机器,我也需要安装rbenv
,但安装后我无法在脚本中使用rbenv
命令,因为它启动了只有在我重新启动终端或在脚本之外运行source .bashrc
命令后才能工作。当我尝试将变量路径转换为.bash_profile
时也是如此。怎么解决这个问题?
bash 'install_rbenv' do
interpreter "bash"
cwd '/home/vagrant'
user 'vagrant'
code <<-EOH
git clone https://github.com/rbenv/rbenv.git ~/.rbenv
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(rbenv init -)"' >> ~/.bashrc
EOH
end
答案 0 :(得分:0)
环境变量无法从子进程传递回父进程,因此您必须在要与rbenr一起使用的每个bash
资源中使用它,或者在您的食谱中执行ENV['PATH'] = "whatever:#{ENV['PATH']}"
码。一般情况下,我不建议将rbenv与服务器一起使用,通常有更好的选择。