Sourcing .bashrc не дозволяє використовувати nvm


4

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

Відповіді:


4

Ха, я роблю те ж саме, і в ту ж саму речі. Джерело має працювати ... але це не так.

Рішення: джерело ~ / .nvm / nvm.sh

Виходячи право на джерело (не каламбур), здається, це виправлено.

Також треба пам'ятати, що використання бродячих пристроїв / перезавантаження - забезпечення виконує будь-який сценарій надання права як кореневий, але якщо ви блукаєте у ваш автомат, він переходить у бродячого користувача, який не має ~ / .nvm

/root/.nvm проти /home/vagrant/.nvm


Ваш останній коментар - це питання; Я керував резервуаром як привілейований. Woops. Я повинен був скопіювати його /usr/share
Dan Pantry

Якби мій коментар був рішенням, чи не могли б ви позначити його так?
crewshin

Привіт! На жаль, я, напевно, забув це виправити .. там ви йдете.
Dan Pantry

3
Чистіший спосіб: джерело $ HOME / .nvm / nvm.sh
Arun Abraham
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.