2016-07-02 2 views
1

Так что я пытаюсь установить nvm и узел в бродяжничестве, но не могу заставить его работать. По-видимому, у меня возникают проблемы с загрузкой/чтением nvm, поскольку nvm требует перезагрузки терминала. не кажется ~/.profile, делает работуvagrant bootstrap: source ~/.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. 
+0

Вы не можете 'source ~/.profile' из сценария, потому что он применим только к этому скрипту, а не к оболочке, с которой вы запускали bootstrap.sh. Получает ли 'source bootstrap.sh' результат, который вы хотите? –

ответ

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 

См. Сообщение this. Протестировано на скотчем. Кажется, просто отлично работает.

Смежные вопросы