Я настраиваю поле vagrant (VM) для имитации сервера. Идея состоит в том, что вы инициализируете виртуальную машину, запустив одну команду, и она сама по себе использует один файл сценария bash «bootstrap.sh».Использование команды export для изменения PATH из файла сценария оболочки
Я пытаюсь запустить ember на моей виртуальной машине.
Так что в файле сценария я устанавливаю узел, nvm, npm и все другие зависимости и прочее. Просто для справки, это то, что файл выглядит следующим образом:
echo "installing node version manager"
curl https://raw.githubusercontent.com/creationix/nvm/v0.24.0/install.sh | bash
source ~/.nvm/nvm.sh
# EMBER CLI & DEPENDENCIES ...
# Install node.js
echo "Installing node.js"
nvm install stable
nvm use stable
# Symlink node to node.js
echo "node symlink"
ln -s /usr/bin/nodejs /usr/bin/node
# Install npm
echo "Installing node package manager"
apt-get install -y npm
# Install Ember CLI
echo "Installing Ember CLI"
npm install -g ember-cli
# Install Bower
echo "Installing bower"
sudo npm install -g bower
# Install watchman from source
apt-get install -y autoconf automake
git clone https://github.com/facebook/watchman.git
cd watchman
./autogen.sh
./configure
make
make install
cd
# Install Phantom.js
echo "Installing Phantom.js"
sudo npm install -g phantomjs
# Do some weird path thing that makes npm find Ember (?)
echo "Creating path for node modules"
export PATH=node_modules/.bin:$PATH
Но когда я бегу ember s
он говорит: «уголек: команда не найдена».
Если я перезапускать эту строку в VM:
export PATH=node_modules/.bin:$PATH
затем он работает.
Таким образом, кажется, что export PATH=node_modules/.bin:$PATH
не работает сформировать файл сценария оболочки, но это не будет работать, если вы запустите его из командной строки (на виртуальной машине через SSH)
Почему это происходит и как я могу заставить эту команду работать так же из файла сценария, как если бы она запускалась из командной строки?
Он работает, но он не сохраняется, поэтому, как только закончится сеанс оболочки, эта переменная идет с ним. Скорее всего, вам нужно изменить путь в файле '~/.bashrc'. – arco444
Вы используете файл сценария или просто запускаете его? –