1

So I'm trying to install nvm and node in vagrant but can't seem to make it work. Apparently I'm having trouble getting it to load/read nvm since nvm requires you to reload your terminal. ~/.profile doesn't seem to be doing the job

using ubuntu/xenial64

This is my bootstrap.sh file

#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

the error I get (slightly modified to hide personal information):

==> 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.
4

1 回答 1

3

而不是采购~/.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

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

于 2016-07-02T23:15:26.650 回答