มีการติดตั้งโหนดระหว่างการจัดเตรียมคนจรจัด แต่หายไปเมื่อเชื่อมต่อกับ ssh

ฉันเบื่อเรื่องนี้จริงๆ และฉันไม่รู้ว่าเกิดอะไรขึ้น ฉันใช้ Vagrant 1.7.2 , Ubuntu 13.04 , Virtual Box 4.3 12 r93733

เครื่องโฮสต์ของฉันคือ 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 ฉันยังเห็นว่าการติดตั้ง npm สำเร็จด้วย

อย่างไรก็ตาม เมื่อฉันเชื่อมต่อโดยใช้ vagrant ssh ฉันได้รับ ไม่พบคำสั่ง 'nvm' และ โปรแกรม 'โหนด' สามารถพบได้ในแพ็คเกจต่อไปนี้: ฉันตรวจสอบไดเร็กทอรี ~/.nvm/ แล้วด้วย ซึ่งไม่มีอยู่จริง

มันก็ยิ่งแปลกมากขึ้นไปอีก ขณะที่ฉันอยู่ที่ ssh ฉันจะรันสคริปต์อีกครั้ง ตอนนี้ติดตั้ง nvm อย่างถูกต้องแล้วและฉันสามารถใช้โหนดได้


person bman    schedule 23.02.2015    source แหล่งที่มา
comment
นี่อาจเป็นปัญหาเรื่องการอนุญาตสำหรับผู้ใช้ SSH ของคุณ   -  person Chris    schedule 24.02.2015
comment
หากเป็นกรณีนี้ เหตุใดไดเร็กทอรี nvm จึงหายไป และเมื่อฉันพยายามที่จะรันสคริปต์เดียวกันบน ssh มันยังคงใช้งานได้ใช่ไหม   -  person bman    schedule 24.02.2015
comment
อาจเป็นเพราะผู้ใช้ SSH ไม่สามารถเข้าถึงไดเร็กทอรี nvm ที่สร้างโดยผู้ใช้รายอื่น   -  person Chris    schedule 24.02.2015
comment
ฉันสงสัยว่าคุณคิดเรื่องนี้ออกหรือไม่?   -  person Perspective    schedule 18.05.2015


คำตอบ (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
person bman    schedule 21.05.2015