vagrant bootstrap: source ~/.profile 不工作

vagrant bootstrap: source ~/.profile not working

所以我正在尝试在 vagrant 中安装 nvm 和节点,但似乎无法正常工作。 显然我无法将其发送到 load/read nvm,因为 nvm 要求您重新加载终端。 ~/.profile 似乎没有完成任务

使用ubuntu/xenial64

这是我的 bootstrap.sh 文件

#install nvm
cd ~

curl -sL https://raw.githubusercontent.com/creationix/nvm/v0.31.2/install.sh -o install_nvm.sh
bash install_nvm.sh

#this command makes it so that you don't need to re-open the terminal for 'nvm' to be available
source ~/.profile

#use nvm to install node
nvm install 6.2.2
nvm use 6.2.2

我得到的错误(稍微修改以隐藏个人信息):

==> default: Checking for guest additions in VM...
==> default: Mounting shared folders...
    default: /installation_data => C:/work/<PATH_OMMITED>
==> default: Running provisioner: shell...
    default: Running: C:/Users/ahmed/AppData/Local/Temp/vagrant-shell20160703-8248-1c82peg.sh
==> default: => Downloading nvm from git to '/home/ubuntu/.nvm'
=>  default:
==> default: Cloning into '/home/ubuntu/.nvm'...
==> default: * (HEAD detached at v0.31.2)
==> default:   master
==> default: => Appending source string to /home/ubuntu/.bashrc
==> default: => Close and reopen your terminal to start using nvm
==> default: /tmp/vagrant-shell: line 11: nvm: command not found
==> default: /tmp/vagrant-shell: line 12: nvm: command not found
The SSH command responded with a non-zero exit status. Vagrant
assumes that this means the command failed. The output for this command
should be in the log above. Please read the output to determine what
went wrong.

而不是采购 ~/.profile 试试这个:

echo "--- Installing Node.js ---"
git clone https://github.com/creationix/nvm.git /home/vagrant/.nvm && cd /home/vagrant/.nvm && git checkout `git describe --abbrev=0 --tags`
source /home/vagrant/.nvm/nvm.sh
nvm install 6.2.2
nvm use 6.2.2
n=$(which node);n=${n%/bin/node}; chmod -R 755 $n/bin/*; sudo cp -r $n/{bin,lib,share} /usr/local
echo $n

请参考post。在苏格兰威士忌盒上测试。似乎工作正常。