[英]AWS EC2 - Node.js not working after reboot
我已經使用Amazon Linux AMI 2018.03.0 AMI設置了一個小型免費的AWS實例。 我創建並配置了兩個其他用戶(me和botManager),僅此而已。 然后我從EC2用戶切換到botManager與su botManager
並沒有忘了cd ~
我通過nvm安裝了node.js。 要安裝nvm,我只需復制/粘貼以下內容:
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.32.0/install.sh | bash
立即使nvm可以訪問:
. ~/.nvm/nvm.sh
如此處所述: 教程:在Amazon EC2實例上設置Node.js
仍然沒有問題,甚至沒有警告, nvm --version
可以工作並返回0.32.0
。
我想要最新的LTS版本,所以我運行了:
nvm install --lts
而且進展順利。 node -v
和npm -v
工作,並且分別返回v8.11.3
和5.6.0
。
為確保一切穩定,我按ctrl+d
退出botManager並以ec2-user身份使用sudo reboot
重啟服務器。
問題是當我在重新啟動后以botManager的身份重新登錄並更改為其主目錄(〜)時,nvm仍在工作,但node -v
和npm -v
返回:
bash: (node or npm): command not found
奇怪的是,當我用nvm ls
檢查安裝了哪個版本的node.js時,結果是這樣的:
[botManager@ip-f-o-o-o ~]$ nvm ls
v8.11.3
node -> stable (-> v8.11.3) (default)
stable -> 8.11 (-> v8.11.3) (default)
iojs -> N/A (default)
lts/* -> lts/argon (-> N/A)
lts/argon -> v4.9.1 (-> N/A)
lts/boron -> v6.14.3 (-> N/A)
lts/carbon -> v8.11.3
我如何才能使node.js再次正常工作,甚至在重新啟動后又長時間工作?
我的Linux知識遠非完美,部分是自學的,因此歡迎您提供任何幫助。
編輯1: whereis node; echo path
結果whereis node; echo path
whereis node; echo path
:
[botManager@ip~]$ whereis node; echo $PATH node:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/opt/aws/bin:/home/ec2-user/.local/bin:/home/ec2-user/bin:/opt/aws/bin
編輯2:全新安裝: nvm install --lts
結果:
[botManager@ip-f-o-o-o~]$ nvm install --lts
Installing latest LTS version.
######################################################################## 100.0%
Computing checksum with sha256sum
Checksums matched!
Now using node v8.11.3 (npm v5.6.0)
nvm_ensure_default_set: a version is required
whereis node; echo path
結果whereis node; echo path
whereis node; echo path
:
[botManager@ip-f-o-o-o~]$ whereis node ; echo $PATH
node: /home/botManager/.nvm/versions/node/v8.11.3/bin/node
/home/botManager/.nvm/versions/node/v8.11.3/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/opt/aws/bin:/home/ec2-user/.local/bin:/home/ec2-user/bin:/opt/aws/bin
df -h
結果:
[botManager@ip-f-o-o-o~]$ df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 484M 56K 484M 1% /dev
tmpfs 494M 0 494M 0% /dev/shm
/dev/xvda1 7.8G 1.2G 6.6G 15% /
重啟后: whereis node; echo path
結果whereis node; echo path
whereis node; echo path
:
[botManager@ip-f-o-o-o~]$ whereis node ; echo $PATH
node:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/opt/aws/bin:/home/ec2-user/.local/bin:/home/ec2-user/bin:/opt/aws/bin
df -h
結果:
[botManager@ip-f-o-o-o~]$ df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 484M 56K 484M 1% /dev
tmpfs 494M 0 494M 0% /dev/shm
/dev/xvda1 7.8G 1.2G 6.6G 15% /
重新引導后,$ PATH將重置,/ /home/botManager/.nvm/versions/node/v8.11.3/bin
不再存在,因此您的二進制文件不可用。
在啟動時將其添加到$ PATH變量中: /home/botManager/.nvm/versions/node/v8.11.3/bin
編輯
將此添加到您的.bashrc中:
export PATH=$PATH:/home/botManager/.nvm/versions/node/v8.11.3/bin
或者將此行添加到您的/ etc / environment文件中
/home/botManager/.nvm/versions/node/v8.11.3/bin
或在/ usr / bin中創建符號鏈接
ln -s /home/botManager/.nvm/versions/node/v8.11.3/bin/node /usr/bin/node
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.