Я пытаюсь настроить сценарий оболочки для запуска в контексте учетной записи пользователя после создания виртуальной машины с использованием vagrant; Я пользователь Windows, поэтому я ограничен в использовании сценариев bash. Я использую виртуальные машины для установки Linux-боксов, чтобы я мог использовать превосходную базу ОС, прежде чем перейти на Mac позже в этом году ;-)
К проблеме: я пытаюсь установить nvm, используя скрипт установки; на сайте говорится, что после установки nvm вы должны перезагрузить оболочку bash. Я понимаю, что вместо этого могу получить исходный код .bashrc
без перезагрузки оболочки (что было бы неудобно). Вот сценарий оболочки, который я использую:
## NVM
# install nvm
wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.25.4/install.sh | bash
# copy nvm config
cp /vagrant/dotfiles/.nvmrc ~/.nvmrc
# let bash see the new bash profile
source ~/.bashrc
# add nvm
nvm install
Все это выполняется в контексте учетной записи пользователя (без sudo, но в этом нет необходимости). Проблема в том, что, как только мы доберемся до nvm install
, может показаться, что использование .bashrc
не предоставило nvm
оболочке bash, и это не удалось, потому что он не может найти nvm
. Я использую Ubuntu 14.04.2 LTS (GNU/Linux 3.13.0-53-generic i686), который использует для этого bash + .bashrc
.
Вывод консоли ниже.
==> workspace: => Downloading nvm from git to '/home/vagrant/.nvm'
=> workspace:
==> workspace: Cloning into '/home/vagrant/.nvm'...
==> workspace: * (detached from v0.25.4)
==> workspace: master
==> workspace: => Source string already in /home/vagrant/.bashrc
==> workspace: => Close and reopen your terminal to start using nvm
==> workspace: /tmp/vagrant-shell: line 12: nvm: command not found