Я намагаюся налаштувати сценарій оболонки для запуску в контексті облікового запису користувача після створення віртуальної машини, яка використовує бродягу; Я користувач 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
/usr/share