2015-02-23 2 views
1

Я действительно устаю от этого, и я не знаю, что не так. Я использую Vagrant 1.7.2, Ubuntu 13.04, Virtual Box 4,3 12 r93733Узел установлен во время настройки на бродяжнике, но исчезает при подключении к ssh

Мой хозяин машины для Windows 8.1

Вот мой узел скрипт начальной загрузки находится на моем bootstrap.sh

echo "--- Installing Node.js ---" 
curl https://raw.githubusercontent.com/creationix/nvm/v0.16.1/install.sh | bash 
source ~/.nvm/nvm.sh 
nvm install 0.12 
nvm use 0.12 
sudo cp ~/.nvm/versions/nodejs/v0.12/bin/node /bin/node 

echo "--- Install node app dependencies --" 
cd /var/www/html/node 
npm install express 
npm install youtube-audio-stream 

Во время подготовки я мог видеть, что узел установлен правильно. Я мог видеть Теперь, используя узел v0.12. Я также мог видеть, что НПХ установить «s являются успешными

Однако при подключении с помощью бродячей SSH. Я получаю Не найдено команды 'nvm'. И «node» программы можно найти в следующих пакетах:. Я также проверил каталог ~/.nvm/, он не существует.

Будет еще более странным. Поэтому, пока я нахожусь в ssh, я снова заново запускаю сценарий. Затем nvm теперь правильно установлен, и я могу использовать узел.

+0

Это может быть проблема с разрешениями с помощью SSH пользователя – Chris

+0

Если это так, то почему ушел каталог NVM? И когда я пытаюсь выполнить тот же скрипт на ssh, он все еще работает? – bman

+0

Возможно, потому, что пользователь SSH не имеет доступа к каталогу nvm, созданному другим пользователем. – Chris

ответ

1

Это то, что я придумал

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 0.12 
nvm use 0.12 
n=$(which node);n=${n%/bin/node}; chmod -R 755 $n/bin/*; sudo cp -r $n/{bin,lib,share} /usr/local