簡體   English   中英

AWS EC2-重新啟動后Node.js無法正常工作

[英]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 -vnpm -v工作,並且分別返回v8.11.35.6.0

為確保一切穩定,我按ctrl+d退出botManager並以ec2-user身份使用sudo reboot重啟服務器。

問題是當我在重新啟動后以botManager的身份重新登錄並更改為其主目錄(〜)時,nvm仍在工作,但node -vnpm -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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM