PyEnv没有great installer,并且需要一些安装后处理才能使其正常工作(例如修改.bashrc
以添加到$PATH
并制作两个{{ 1}}来电)。我想知道如何通过Vagrantfile安装PyEnv。我想构建一个可重用的图像来开发,这样如果我销毁这个VM,我就不必经历重新安装过程。
我已尝试运行安装程序并对pyenv
进行推荐编辑以使.bashrc
正常工作,但当我进入我的Vagrant框时pyenv
未安装。我尝试将pyenv
脚本移动到pyenv
,但机器启动时它不存在。我如何使这项工作?
作为参考,以下是我目前正在运行的脚本,无法在/bin/pyenv
的Vagrant配置步骤中将PyEnv安装到Vagrant机器:
Vagrantfile
尝试在#! /usr/bin/env bash
# REQUIRES: curl, git
curl -L https://raw.githubusercontent.com/pyenv/pyenv-
installer/master/bin/pyenv-installer | bash
cat >> /home/ubuntu/.bashrc << 'EOF'
export PATH="$PATH:~/.pyenv/bin"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
EOF
exec $SHELL
下移动pyenv
:
/bin
都没有工作。我该如何安装?
答案 0 :(得分:2)
您的问题是您通过Vagrant shell配置以root身份运行脚本,因此更新是为您的root用户完成的。 当您进入虚拟机时,您已经与您的流浪用户一起登录,因此无法使用。
当您需要更改时,在Vagrantfile中使用privileged
选项运行脚本
config.vm.provision "shell", path: "xxx", privileged: false